这是一个非常简单的问题,但是我找不到关于CSS过渡属性的很好的文档。这是CSS代码段:
.nav a { text-transform:uppercase; text-decoration:none; color:#d3d3d3; line-height:1.5 em; font-size:.8em; display:block; text-align:center; text-shadow: 0 -1.5em 0 rgba(255, 255, 255, 0.15); -webkit-transition: color .2s linear; -moz-transition: color .2s linear; -o-transition: color .2s linear; transition: color .2s linear; -webkit-transition: text-shadow .2s linear; -moz-transition: text-shadow .2s linear; -o-transition: text-shadow .2s linear; transition: text-shadow .2s linear; } .nav a:hover { color:#F7931E; text-shadow: 0 1.5em 0 rgba(247, 147, 30, 0.15); }
如您所见,过渡属性相互覆盖。就目前而言,文本阴影将设置动画,但颜色将不设置动画。如何让它们同时进行动画处理?感谢您的任何答案。
在所有支持转换的浏览器中,转换属性以逗号分隔:
.nav a { transition: color .2s, text-shadow .2s; }
ease是默认的计时功能,因此您不必指定它。如果确实需要linear,则需要指定它:
ease
linear
transition: color .2s linear, text-shadow .2s linear;
这开始变得重复,因此,如果要在多个属性中使用相同的时间和计时功能,则最好继续使用各种transition-*属性,而不是简写形式:
transition-*
transition-property: color, text-shadow; transition-duration: .2s; transition-timing-function: linear;