您可以通过在内部或外部放置另一个元素.something
并将填充和边距转换应用于新元素来实现此目的,但transition-delay
值设置为等于或大于初始box-shadow
转换时间的时间。
因此,例如:
<div class="immediate">
<div class="later">
I can haz transitions.
</div>
</div>
和 CSS:
.immediate {
background: #eeb;
transition: box-shadow 300ms;
}
.immediate:hover {
box-shadow: 0 0 3px black;
}
.later {
margin: 0;
padding: 10px 0;
transition: all 400ms;
transition-delay: 300ms;
}
.later:hover {
margin: 10px 0;
padding: 0;
}
这将在 300 毫秒内执行box-shadow
转换,然后在 400 毫秒margin
内执行padding
(如果您正在寻找效果,您可以将此转换时间设置为 0)。
你可以在 jsFiddle 上试试:http: //jsfiddle.net/gTVVk/2/
编辑: Duncan Beattie 的回答会很好,除非您需要对同一属性执行不同的转换。否则,使用嵌套 div 使事情变得过于复杂是没有意义的。