keyframesを使用すると、DOMに挿入するとすぐに要素をアニメートすることができます。CSS3 - DOM削除に関する遷移
@-moz-keyframes fadeIn {
from {opacity:0;}
to {opacity:1;}
}
@-webkit-keyframes fadeIn {
from {opacity:0;}
to {opacity:1;}
}
@keyframes fadeIn {
from {opacity:0;}
to {opacity:1;}
}
#box {
-webkit-animation: fadeIn 500ms;
-moz-animation: fadeIn 500ms;
animation: fadeIn 500ms;
}
いくつかの似たような機能は、それがDOMから削除される直前の要素に(CSS、JavaScriptをなし経由)アニメーションを適用するために利用可能である:ここではいくつかのサンプルCSSですか!以下は、私がこのアイディアを持って遊ぶために作ったjsFiddleです。あなたが解決策を知っていれば自由にフォークすることができます。
jsFiddle - http://jsfiddle.net/skoshy/dLdFZ/
これはかなり賢いですが、私は、私は# ' '$(だけ呼び出すことができますJavaScriptのルートをつもりだ場合塗りつぶし ')。fadeOut() '。私が本当に探しているのは、CSSのみのソリューションです。私は多くのフォーラムを見るまで、要素のフェードが可能であることを知らなかったので、要素をフェードアウトする方法を誰かが知っていることを願っています。 – Steve
しかし '.fadeOut()'はJavaScriptを使ってアニメーションを行います。これは実際にアニメーションにCSSを使用します。 JavaScriptを使用して適切なタイミングでトリガーします。とにかく、実際に要素を挿入/削除するためにJavaScriptを使用しているので、「CSSのみ」は任意です。 CSSが削除される直前に何かをトリガーする方法はありません。これらの "click me" divをリンクにすると、セレクタとして '.hide:active +#fill'を使ってフェードアウトをトリガーすることができるかもしれませんが、実際には' animationend'イベントが必要ですフェードアウトしたときに要素を削除します。 – mercator
@ S.K .:要約すると、 CSSは、要素の追加や削除などのDOM操作とは関係ありません。 FadeInのトリックは、要素が最初に表示されるたびにアニメーションが発生するため、機能します。なぜなら、それが起こる最初の瞬間だからです。要素がFadeOutに認識されるためには、削除しようとしていることを知る必要があります。これはJavascriptでのみ可能です。そして、あなたが既に要素を削除するためにJavascriptを使用しているので、 "CSSのみ"の要件は任意です。 – joequincy