CSS3アニメーションの基本脱エンジニアっぽさ! クライアントの笑顔を引き出すCSS3アニメーション(1)(3/3 ページ)

» 2013年07月04日 17時00分 公開
[内田 順一,Chime of Shigan]
前のページへ 1|2|3       

 続いて、先ほどのtransitionと同じように、背景色と同時に幅も変更するようにします。ボタンにマウスオーバしたBの状態に「width:200px;」を加え、キーフレームの設定にも幅の指定を追加します。

  1. /*ボタンに対して何もしていない状態(A)*/
  2. a{
  3. display:inline-block;
  4. color:#fff;
  5. width:100px;
  6. padding:10px;
  7. text-align:center;
  8. background:blue;
  9. text-decoration:none;
  10. }
  11. /*ボタンに対してマウスオーバした状態(B)*/
  12. a:hover{
  13. /*アニメーション指定*/
  14. animation:btn 2s ease-out 0s 1 normal;
  15. background:red;
  16. width:200px;
  17. }
  18. @keyframes btn {
  19. 0% {background:blue; width:100px;}
  20. 100% {background:red; width:200px;}
  21. }

 また、このアニメーションに対応するブラウザやそのバージョンを広げるため、animationプロパティを使って設定しているものは、ベンダプレフィックスを付けてコピーします。

  1. /*ボタンに対して何もしていない状態(A)*/
  2. a{
  3. display:inline-block;
  4. color:#fff;
  5. width:100px;
  6. padding:10px;
  7. text-align:center;
  8. background:blue;
  9. text-decoration:none;
  10. }
  11. /*ボタンに対してマウスオーバした状態(B)*/
  12. a:hover{
  13. /*アニメーション指定*/
  14. -moz-animation:btn 2s ease-out 0s 1 normal;
  15. -webkit-animation:btn 2s ease-out 0s 1 normal;
  16. -o-animation:btn 2s ease-out 0s 1 normal;
  17. animation:btn 2s ease-out 0s 1 normal;
  18. background:red;
  19. width:200px;
  20. }
  21. @-moz-keyframes btn {
  22. 0% {background:blue; width:100px;}
  23. 100% {background:red; width:200px;}
  24. }
  25. @-webkit-keyframes btn {
  26. 0% {background:blue; width:100px;}
  27. 100% {background:red; width:200px;}
  28. }
  29. @-o-keyframes btn {
  30. 0% {background:blue; width:100px;}
  31. 100% {background:red; width:200px;}
  32. }
  33. @keyframes btn {
  34. 0% {background:blue; width:100px;}
  35. 100% {background:red; width:200px;}
  36. }

 これで設定完了です。

 transitionとanimationとで、同じアニメーション内容に設定したものを用意しましたので、以下からサンプルページをご覧ください。

 これらで1点異なるのは、マウスをボタンから離したときの動作です。transitionではBの状態からAの状態へと反転しながら戻るのに対し、animationではパッと元のAの状態に切り替わります(animationでも設定を重ねれば反転して戻すこともできますが、あくまで基本的な設定での比較です)。

 アニメーションとしては、transitionの方がリッチに感じられていいように思いますが、場合によっては、animationの動作の方が小気味良いと評価するケースもあるでしょう。

 先ほど、設定できるアニメーションの複雑さ、設定の容易さで比較しましたが、小さなことながら、こうした違いもユーザー体験に関わってきますので、どちらで設定するかの判断に加えたいものです。

内田 順一(Chime of Shigan)

アートディレクター。広告、販促物の企画・制作を中心に「コサインスタジオ」名義でフリーランスとして長らく活動後、2007年に株式会社Chime of Shiganを立ち上げ。企業や商品のブランド構築を支援しながら、パンフやポスターなどの紙媒体から、ムービー、Webサイト制作まで幅広くサポート。

http://www.chimeofshigan.jp/

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

HTML5�ス蛛スX 髫ェ蛟�スコ荵斟帷ケ晢スウ郢ァ�ュ郢晢スウ郢ァ�ー

隴幢スャ隴鯉ス・隴帷」ッ菫」

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。