![[CSS3,animation]CSS3のanimationで出来ることをまとめてみた使わないけどw](https://makurazaki.org/wp-content/uploads/SnapCrab_NoName_2015-6-5_18-5-44_No-00-680x340.png)
やっぱり動きがあると面白いですよね!動かさないけど。
どうも久々更新の下山です。って書くと複数人で更新してるみたでかっこいい。
さて、とうとうアニメーションに手を出し始めました。
今回はCSS3で登場のanimationプロパティってどんなことが出来るの?ってことでまとめてみるよ!
animationプロパティ
| animation-name | アニメーションに名前を付けます。 |
|---|---|
| animation-duration | アニメーション実行1回にかける時間 |
| animation-timing-function | アニメーション実行中の速度変更 |
| animation-iteration-count | アニメーションを繰り返す数 |
| animation-direction | 繰り返す際の指定 |
| animation-play-state | 実行、停止の指定 |
| animation-delay | 実行や変更の待ち時間 |
| animation-fill-mode | アニメーション実行後の指定、変化したままか否か |
animationショートハンドも使用可能です。
あと1つ重要なのが「@keyframes」です。
animetaion-nameで指定して通過点をそれぞれ指定します。
グダグダ説明しても仕方ないのでやってみましょう。
<a href="#">btn</a>
上記のようなリンクがあります。
これをCSSでボタン風にしていきます。
a {
display:block;
color:#fff;
width:150px;
padding:1em;
text-align:center;
background:#666;
text-decoration:none;
}
ボタンみたいになりましたね。
これを「:hover」を使って動きを付けます。
a:hover {
background:#c00;
width:250px;
}色を赤にして幅を250pxにしてねーです。
See the Pen ZGegrj by mitsuki sagayama (@sagayama) on CodePen.
しかしこれだけじゃアニメーションはしませんよね。 ここでanimationプロパティの登場。
- 名前は「btn」
- アニメーション1回にかける時間は2秒
- 速度変更はease-out
- 繰り返す回数は無限
- 繰り返し方は行ったり来たり
- 待ち時間0秒
a {
display:block;
color:#fff;
width:150px;
padding:1em;
text-align:center;
background:#666;
text-decoration:none;
}
a:hover {
background:#c00;
width:250px;
animation-name:btn;
animation-duration:2s;
animation-timing-function:ease-out;
animation-iteration-count:infinite;
animation-direction:alternate;
animation-delay:0s;
}長くなりましたけど、こうなります。
ショートハンドで書きたい場合は「animation:btn 2s ease-out 1 0s;」となります。
実はこれでもアニメーションは実現しません。
@keyframesで「a」の状態から「a:hover」の状態へどう通過していくか指定します。
@keyframes btn {
0% {background:#666; width:150px;}
100% {background:#c00; width:250px;}
}btnって名前のヤツを0%のときは背景グレー、幅150pxで100%のときは背景赤で幅250pxにしろや。って感じです。
See the Pen MwpNMz by mitsuki sagayama (@sagayama) on CodePen.
まとめ
面白いですね!こんなボタン誰が使うんでしょうね!
でも面白いから色々やっては書いてみたいと思います。
今回はじめてCODEPEN使ってみたんですけど・・・。ねっ!

