【发布时间】:2012-11-20 00:12:06
【问题描述】:
我已经开始使用过渡来“现代化”网站的感觉。到目前为止,:hover 转换效果很好。现在我想知道是否可以根据其他事情触发转换,例如当类发生变化时。
这是相关的 CSS:
#myelem {
opacity: 0;
display: none;
transition: opacity 0.4s ease-in, display 0.4s step-end;
-ms-transition: opacity 0.4s ease-in, display 0.4s step-end;
-moz-transition: opacity 0.4s ease-in, display 0.4s step-end;
-webkit-transition: opacity 0.4s ease-in, display 0.4s step-end;
}
#myelem.show {
display: block;
opacity: 1;
transition: opacity 0.4s ease-out, display 0.4s step-start;
-ms-transition: opacity 0.4s ease-out, display 0.4s step-start;
-moz-transition: opacity 0.4s ease-out, display 0.4s step-start;
-webkit-transition: opacity 0.4s ease-out, display 0.4s step-start;
}
触发更改的 JavaScript 是:
document.getElementById('myelem').className = "show";
但这种转变似乎并没有发生——它只是从一种状态跳到另一种状态。
我做错了什么?
【问题讨论】:
-
注意
transition上的-ms-前缀是不必要的; Internet Explorer 10 支持transition无前缀,而 Internet Explorer 9 不支持过渡。 -
感谢您的信息。我没有意识到 IE10 支持无前缀名称。
标签: css css-transitions