[CSS]まるでFlashのように画像とキャプションをアニメーションで替えるテクニックいろいろ
Post on:2011年11月8日
画像をホバーすると、小気味良いアニメーションを伴ってキャプションに替えるCSS3のテクニックを紹介します。
デモは10種類あり、CSSでここまでできるのか!って感じです。
Original Hover Effects with CSS3
[ad#ad-2]
基本となるHTML
HTMLは非常にシンプルです。
キャプションはタイトルとテキストをdiv要素で内包しclassに「mask」をつけ、そのキャプションと画像をdiv要素で内包します。
<div class="view"> <img src="image.gif" /> <div class="mask"> <h2>Title</h2> <p>Your Text</p> <a href="#" class="info">Read More</a> </div> </div>
※HTMLは各デモで上記のものから少し手を加えて実装しています。
基本となるCSS
各デモのデフォルトとなるスタイルシートです。
ここでは特別なエフェクトは設定してなく、基本となる表示を定義しているだけです。
.view { width: 300px; height: 200px; margin: 10px; float: left; border: 10px solid #fff; overflow: hidden; position: relative; text-align: center; box-shadow: 1px 1px 2px #e6e6e6; cursor: default; background: #fff url(../images/bgimg.jpg) no-repeat center center } .view .mask, .view .content { width: 300px; height: 200px; position: absolute; overflow: hidden; top: 0; left: 0 } .view img { display: block; position: relative } .view h2 { text-transform: uppercase; color: #fff; text-align: center; position: relative; font-size: 17px; padding: 10px; background: rgba(0, 0, 0, 0.8); margin: 20px 0 0 0 } .view p { font-family: Georgia, serif; font-style: italic; font-size: 12px; position: relative; color: #fff; padding: 10px 20px 20px; text-align: center } .view a.info { display: inline-block; text-decoration: none; padding: 7px 14px; background: #000; color: #fff; text-transform: uppercase; box-shadow: 0 0 1px #000 } .view a.info:hover { box-shadow: 0 0 5px #000 }
※上記スタイルシートではベンダープレフィックス(-moz-など)は省略しています。実際に利用する際にはベンダープレフィックスを記述してください。
必見の10種類のかっこいいデモ
デモを楽しむには、Firefox, Chrome, Safari でご覧ください、IEは多分IE10までお待ちください。
最初のデモは、最もベーシックなものです。
ホバーすると遅延を伴ったアニメーションで、画像を拡大しキャプションが上下からスライドします。
斜めにスライドするエフェクトです。これはマスクとなるdiv要素を回転させています。
遅延のタイミングをずらし、順番に斜めからスライドするエフェクトです。
画像のサイズをアニメーションで小さくし、キャプションを回転させながら表示させます。
[ad#ad-2]
画像を押すようにキャプションが左からスライドします。
拡大したキャプションを元のサイズまでズームアウトします。
画像を回転しながら縮小し、キャプションを上から遅延でスライドさせます。
キャプションがスライドし、バウンドします。バウンドのエフェクトはキーフレームを使用しています。
2つのマスクを使い、斜めにスライドして合体し、キャプションを表示します。
画像をズームし不透明度をコントロールして、キャプションを表示します。
sponsors