複数のプロパティを持つ CSS トランジションショートカットの正しい構文が見つからないようです。これは何もしません:
.element {
-webkit-transition: height .5s, opacity .5s .5s;
-moz-transition: height .5s, opacity .5s .5s;
-ms-transition: height .5s, opacity .5s .5s;
transition: height .5s, opacity .5s .5s;
height: 0;
opacity: 0;
overflow: 0;
}
.element.show {
height: 200px;
opacity: 1;
}
JavaScript で show クラスを追加します。要素はより高くなり、表示されるようになりますが、遷移しません。最新の Chrome、FF、Safari でテストしています。
何が間違っているのでしょうか?
編集: 念のため言っておきますが、CSS を縮小するための短縮版を探しています。ベンダー プレフィックスが多すぎて、CSS が肥大化しています。サンプル コードも拡張しました。
ベストアンサー1
構文:
transition: <property> || <duration> || <timing-function> || <delay> [, ...];
遅延が指定されている場合、期間は遅延より前に指定する必要があることに注意してください。
短縮宣言で組み合わせた個々の遷移:
-webkit-transition: height 0.3s ease-out, opacity 0.3s ease 0.5s;
-moz-transition: height 0.3s ease-out, opacity 0.3s ease 0.5s;
-o-transition: height 0.3s ease-out, opacity 0.3s ease 0.5s;
transition: height 0.3s ease-out, opacity 0.3s ease 0.5s;
または、すべてを移行します。
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
ここはわかりやすい例もう一つあります遅延プロパティを持つ。
編集:以前ここに記載されていたのは、 に関する互換性と既知の問題でしたtransition
。読みやすくするために削除しました。
結論: とにかく使用してください。このプロパティの性質はすべてのアプリケーションで互換性があり、互換性は現在世界中で 94% をはるかに超えています。
それでも確実に知りたい場合は、http://caniuse.com/css-transitions