トランジションを使用する場合、開始と終了を定義する必要があります。background none の代わりに、rgba(255,255,255,0); を使用します。つまり、最初と最後は同じ言語を話しているのです。
CSS は、トランジションの "background-color" -> "none" などを理解していません。また、その場合、「なし」は背景色の有効な CSS ではないため、透明を使用することをお勧めします。
また、CSS の一部に互換性がない可能性もあると思います。スケールのものを削除すると、物事は本来のように機能します。残念。私の 2 番目のフィドルを参照してください。これはうまくいっているようです。画像の代わりに図を使用しましたが、同じように動作するはずです。お役に立てれば!
これが更新された fiddleで、次にMy fiddle です。
<figure>
<figcaption>without scale</figcaption>
</figure>
<figure class="scale">
<figcaption>with scale</figcaption>
</figure>
--
.trans, figure, figcaption {
-webkit-transition: all .5s linear;
-moz-transition: all .5s linear;
-o-transition: all .5s linear;
transition: all .5s linear;
}
figure {
position: relative;
width: 20em;
height: 10em;
background-color: rgba(255,0,104,1);
}
figure:hover {
background-color: rgba(255,0,104,.2);
}
figcaption {
position: absolute;
width: 100%;
bottom: 0; left: 0;
padding: 2em 1em;
background-color: rgba(255,255,255,.8);
}
figure:hover figcaption {
bottom: 20px;
background-color: rgba(255,255,255,.0);
}
.scale:hover {
-webkit-transform: scale(1.1, 1.1);
-moz-transform: scale(1.1, 1.1);
-ms-transform: scale(1.1, 1.1);
-o-transform: scale(1.1, 1.1);
transform: scale(1.1, 1.1);
}