いえーいCSSでぐりぐり動かしてますか!
やろうやろうと思いつつなかなか手が出ないなんて事もありますが、CSS Animationについてそんな人のための簡単な導入です。
CSSでのアニメーションは二種類
実はCSSのアニメーション、と言っても二種類あります。
transition
… マウスホバーとかの操作時に動くやつanimation
… ずっと動き続けるやつ- プロパティは割と似てる
- 今のところ、どちらもベンダープレフィクスが必要
頻繁に使われるのは前者でしょうか。
transition
でさくっとアニメーション
リンクにカーソルを載せると文字色が変わる、という例。
:link { color: #00f; transition: color .5s; } :link:hover { color: #f00; }
transition
プロパティで設定します。- 値は「変化させたいプロパティの名前」と「変化にかける時間」です。
- 時間の単位は
s
で、secondsつまり秒です。 - (ちなみにCSSは
0.1
を.1
と記述する事が出来ます。)
- 時間の単位は
- 複数設定する場合はカンマ
,
で区切ります。 - 他に変化のさせ方と、変化前の待ち時間を設定する事が出来ます。
animation
でがつっとアニメーション
.selector { animation: blink 1s infinite; } @keyframes blink { 0% { opacity:1 } 100% { opacity:0 } }
animation
と@keyframes
の二種類が必要です。animation
から利用するkeyframesの名前を指定します。@keyframes
でアニメーションの内容を指定します。animation
で指定するのは全体の時間です。@keyframes
で指定するのは時間のうちの進行割合です。- 再生時間は
animation
で指定します。 - 何も指定しなければ、アニメーションは0→100%までやって終わります。
infinite
を指定すると、何度も繰り返します。alternate
を指定すると、行って戻ってが出来ます。
もっとくわしく
MDNあたりを。
おしまい
実は後日の記事への布石です。