小编典典

具有多个属性的CSS过渡简写?

css

我似乎找不到具有多个属性的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肿。还扩展了示例代码。


阅读 413

收藏
2020-05-16

共1个答案

小编典典

句法:

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。出于可读性原因删除。

底线:使用它。对于所有应用程序而言,此属性的性质均不中断,并且兼容性目前在全球范围内已远远超过94%。

2020-05-16