我正在尝试设置一个transition-delay
to the overflow
的财产body
when a div
通过添加一个类来单击body
如下:
$("div").click(function(){
$("body").addClass("no_overflow");
});
div{
background:lime;
height:2000px;
}
.no_overflow{
overflow:hidden;
}
body{
overflow:auto;
transition: overflow 0 2s;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>I'm div</div>
然而,这似乎不起作用(没有延迟)。我在这里做错了什么吗?
我知道这可以通过使用来实现设置超时时间函数,但想知道为什么不能使用 css 转换来实现这一点?是否有任何可以应用 css 过渡的特定样式属性?
有许多属性无法转换。overflow
就在其中;渲染引擎不知道如何在“隐藏”和“显示”之间转换,因为这些是二元选项,而不是间隔。这与您无法在之间转换的原因相同display: none;
and display: block;
(例如):没有中间阶段可用作过渡。
您可以看到可以设置动画的属性列表here https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties在 Mozilla 开发者网络上。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)