ページのロード時にCSS3アニメーション(transitions)を動かす
前の記事では hover や active などマウスイベントでのアニメーションだったので、オンロード時にCSS3のアニメーション実行方法を記します。
サンプル
まずアニメーション動作を記述する。
今回はオンロード時にフワッとフェードインさせる内容。
@-webkit-keyframes fadeIn {
0% {
filter: alpha(opacity=0);
-moz-opacity:0;
opacity:0;
}
100% {
filter: alpha(opacity=100);
-moz-opacity:1;
opacity:1;
}
}
「@-webkit-keyframes」に続き「fadeIn」という名前で定義しています。
JavaScriptのfunctionによる関数定義と同じ。
その中で0%~100%によるスタイルの状況を記述する。
色や透明度だけでなく拡大縮小・回転などの変形も可能。
そしてアニメーションを反映させたいクラスへ下記のように記述する。
.honyarara {
~通常のスタイル記述~
-webkit-animation-name: fadeIn;
-webkit-animation-duration: 1s;
}
「-webkit-animation-name」でアニメーション定義を指定。
「-webkit-animation-duration」でアニメーションを何秒かけて実行するか指定。
つまりこの記述を使えば、CSS内でも表示スタイルとアニメーション動作を分割して定義することができるわけです。
「fadeIn」を他のクラスに指定すれば汎用的にフェードインするわけです。
button:hover {
-webkit-animation-name: fadeIn;
-webkit-animation-duration: 1s;
}
当然こんな風に hover などのマウスイベントに汎用的に扱えます。
フェードイン・アウトなどの汎用的な変形動作を定義しておくと便利そう。
ちなみに現時点ではChrome以外では動作しません。
なので最初のCSSにある「filter:alpha」と「-moz-opacity」はまだ意味ないんですけどね。
筆者について
- ゲームとジョジョを愛するファミッ子世代。好きな言葉は「機能美」。
公私ともにWebサービスを作る系男子。
最近の投稿
運用2017.03.03nginxのkusanagiにLet’sEncryptをかけてるとiOSで表示されない問題の解決
運用2016.07.22分かりにくい「クリエイティブコモンズ」をシンプルに言うと
WordPress2016.07.12新しいWordPress「Calypso」を試した
Design2016.03.09Win10アプリのデザインガイドラインが素晴らしい
transitionじゃなくて
animationではあーりませんか。
タイトル変えたほうが良いですよ