我一直在尝试transition-delay
从“状态A”移动到“状态B”时使用a,但在返回状态A时没有延迟。这是一个关于CSS规范是否说转换设置的一般问题应该是过渡开始时的那些或正在过渡到的状态的那些。这是一个例子:
.menu {
transform: translateX(0%);
transition: transform 1s ease-out;
}
.menu.is-open{
transform: translateX(100%);
transition: transform 5s ease-out;
}
开场动画应该是 1 秒还是 5 秒?
我的代码稍微复杂一些,因为它使用了延迟,但基本上可以归结为这一点。
.menu {
transform: translateX(0%);
transition: transform 0.5s ease-out 0;
}
.menu.is-open {
transform: translateX(100%);
transition: transform 0.5s ease-out 0.5s;
}
当我在 Chrome 或 Firefox 中尝试此操作时,打开菜单时出现延迟,关闭菜单时没有延迟,但在 IE11/Edge 中,它的行为就像没有设置延迟一样。所以我不确定这是否是浏览器错误,或者我是否误解了转换的工作原理,因此我对使用哪些转换提出了更一般的问题。