【发布时间】:2020-12-31 23:03:50
【问题描述】:
我试图让一个 div 在单击时平滑地展开到全屏。我想要的最终产品类似于用户点击本网站上的案例研究https://infinum.co/
到目前为止,我的代码可以使 div 全屏显示,但由于我添加的位置固定,它会跳转。我不关心实际的动画是由 CSS 还是 JavaScript/jQuery 处理的。
$(function() {
$(".block").on("click", function() {
$(this).addClass("fullscreen");
});
});
html,
body {
margin: 0;
padding: 0;
height: 100%;
}
.block {
width: 50%;
margin: 0 auto 50px auto;
height: 300px;
background-color: red;
transition: all 0.5s linear;
}
.block.fullscreen {
position: fixed;
top: 0;
width: 100%;
height: 100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div class="block"></div>
<div class="block"></div>
我目前所有的都可以在这支笔上找到:http://codepen.io/anon/pen/RKGeYj
【问题讨论】:
-
你遇到的问题是你不能
transition一个position属性,这就是你得到那种跳跃外观的原因。我的建议是使用transform而不是position。 -
@James Walker 答案是否对您有所帮助。或者告诉你是否有任何问题。
标签: javascript jquery css css-animations