これを実現するには、別の要素を内側または外側に配置.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;
}
これによりbox-shadow
、300 ミリ秒でトランジションが実行され、その後 400 ミリ秒でトランジションmargin
が実行padding
されます (探している効果が必要な場合は、このトランジション時間を 0 に設定できます)。
jsFiddle で試すことができます: http://jsfiddle.net/gTVVk/2/
編集:同じプロパティで異なる遷移を実行する必要がない限り、 Duncan Beattieの答えはうまくいきます。そうでなければ、ネストされた div で物事を過度に複雑にする意味がありません。