8
要素へのトランジション効果の一部を避けたい(たとえば、opacity
)。 opacity 0s
を使用する必要があります。これはデフォルト値にする必要があります。つまり、トランジションはこれに影響しません。しかし、それはこのようには機能しません。これは私が試したものです:CSSトランジション0秒(ゼロ秒)が動作していませんか?
div {
width: 100px;
height: 100px;
opacity: 0.5;
background: red;
-webkit-transition: all 2s, opacity 0s;
transition: all 2s, opacity 0s;
}
div:hover {
width: 300px;
opacity: 1;
}
<div></div>
div {
width: 100px;
height: 100px;
opacity: 0.5;
background: red;
-webkit-transition: all 2s, opacity 0.1s;
transition: all 2s, opacity 0.1s;
}
div:hover {
width: 300px;
opacity: 1;
}
<div></div>
opacity
の0s
が0.1s
に変更された場合しかし、それは(0.1秒の期間で)動作します、アニメーションを他の方法で「無効にする」方法があるのでしょうか?おそらく、0.1秒という小さな値を設定しなくても動作しますか?ここで
スニペットを追加してくれてありがとうJuhana(私はニックネームを忘れました)。私はそのトリックに続き、別のコードに同じようにして、 '0s'と' 0.1s'の違いを表示しました。 – cathe
あなたの 'transition-property'として' all'を使うのはあまり効率的ではありません。可能な限り、移行したい実際のプロパティを使用する必要があります。上の例の場合、それは単に 'width'です。 – Shaggy
非常に興味深い質問@captheと奇妙な動作は、仕様がこう言っているからです。*プロパティが 'transition-property'の値で複数回指定されている場合(それを含む短縮形を介して、または 'all '値)であれば、開始するトランジションは、そのプロパティのアニメーション化を呼び出す' transition-property 'の値の最後の項目に対応するインデックスでduration、delay、およびtiming関数を使用します。複数のブラウザでこれをテストしましたか?行動は同じですか? – Harry