想知道当div被赋予某个类时,是否有办法进行css转换。我最好的例子就是这个网站http://ideaware.co/
当您向下滚动并且标题变得固定时,它会进行背景颜色更改并具有不透明度。非常好看。
我正在制作一个我在这里的模板http://www.niviholdings.com/collide/,而我想要做的就是<导航>变得固定,我想要< ul>滑到右边。
希望我能正确解释这一点。
答案 0 :(得分:16)
当然可以......
document.querySelector('#header').addEventListener('click', function(e) {
e.target.classList.toggle('transition');
})
#header {
background: red;
padding: 10px 0;
position: relative;
-webkit-transition: all 1s linear;
-moz-transition: all 1s linear;
-o-transition: all 1s linear;
transition: all 1s linear;
left:0;
}
#header.transition {
background: green;
left: 50px;
}
<div id="header">Click me to toggle class</div>
答案 1 :(得分:10)
2分我发现可能帮助:
从auto
到固定值的转换可能是个问题。最后,您可以尝试将margin-left
的{{1}}设置为默认值的固定值,而不仅仅是粘性时。
第二个是(这是hacky)。尝试为您的.main-nav-ul
延迟申请课程
.main-nav-ul
答案 2 :(得分:7)
确保使用CSS过渡可以实现您想要做的事情。您可以通过checking the W3C docs。
将转换和起始样式添加到基本元素。
添加具有已更改样式的类或状态。
添加添加类的机制(如果适用)。
快速举例,假设您想要对:hover
上的保证金更改进行动画处理。你只需这样做:
element {
margin-left: 10px;
transition: margin-left linear .5s;
}
element:hover {
margin-left: 0;
}