我似乎找不到具有多个属性的CSS过渡 速记 的正确语法。这没有做任何事情:
.element { -webkit-transition: height .5s, opacity .5s .5s; -moz-transition: height .5s, opacity .5s .5s; -ms-transition: height .5s, opacity .5s .5s; transition: height .5s, opacity .5s .5s; height: 0; opacity: 0; overflow: 0; } .element.show { height: 200px; opacity: 1; }
我用javascript添加了show类。元素变得更高且可见,它只是不过渡。在最新的Chrome,FF和Safari中进行测试。
我究竟做错了什么?
编辑:为了清楚起见,我正在寻找简化我的CSS的简写版本。使用所有供应商前缀已经足够enough肿。还扩展了示例代码。
句法:
transition: <property> || <duration> || <timing-function> || <delay> [, ...];
请注意,如果指定了延迟,则持续时间必须在延迟之前。
单个过渡结合了速记声明:
-webkit-transition: height 0.3s ease-out, opacity 0.3s ease 0.5s; -moz-transition: height 0.3s ease-out, opacity 0.3s ease 0.5s; -o-transition: height 0.3s ease-out, opacity 0.3s ease 0.5s; transition: height 0.3s ease-out, opacity 0.3s ease 0.5s;
或者只是全部过渡:
-webkit-transition: all 0.3s ease-out; -moz-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; transition: all 0.3s ease-out;
编辑: 先前在此处列出的是与的兼容性和已知问题transition。出于可读性原因删除。
transition
底线:使用它。对于所有应用程序而言,此属性的性质均不中断,并且兼容性目前在全球范围内已远远超过94%。