こんにちは!
デザイナーのひろきちです!
この間は「【jQuery】簡単に震える、回る、画像を作ってみる。」と、動きのあるjQueryの実装方法を紹介しましたが、今回はCSSだけで出来るマウスオーバーアクションを紹介したいと思います。
今回もDEMOに可愛いうさぎちゃんを使っちゃいますね。
それではどうぞ。
マウスオーバーで画像拡大
マウスオーバーでふわっと拡大します。
HTML
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>DEMO</title> <link href="style.css" rel="stylesheet" media="all"> <link href="default.css" rel="stylesheet" media="all"> </head> <body> <a href="#" class="usagi"> <img src="img/usagi.png" > </a> </body> </html>
CSS
@charset "UTF-8"; body { margin: 0 0; } .usagi img { -webkit-transition:0.2s ease-in-out; -moz-transition:0.2s ease-in-out; -ms-transition:0.2s ease-in-out; -o-transition:0.2s ease-in-out; transition:0.2s ease-in-out; } .usagi img:hover { -webkit-transform:scale(1.2,1.2); -moz-transform:scale(1.2,1.2); -ms-transform:scale(1.2,1.2); -o-transform:scale(1.2,1.2); transform:scale(1.2,1.2); }
短い記述でカンタンに実装できます!
DEMOはこちら
マウスオーバーで儚く消える
マウスオーバーですごく儚く消えちゃいます。
HTML
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>DEMO</title> <link href="style.css" rel="stylesheet" media="all"> <link href="default.css" rel="stylesheet" media="all"> </head> <body> <img src="img/usagi.png" class="fade"> </body> </html>
CSS
@charset "UTF-8"; body { margin: 0 0; } .fade { -webkit-transition: 1s ease-in-out; -moz-transition: 1s ease-in-out; -o-transition: 1s ease-in-out; transition: 1s ease-in-out; } .fade:hover { opacity: 0; filter: alpha(opacity=60); }
cssを変えてあげれば透明度、消えていく秒数も変更できます。
DEMOはこちら
マウスオーバーでくるっと回転
マウスオーバーでくるっと回転します。
奥行きを感じさせ、気持ち良いです。
HTML
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>DEMO</title> <link href="style.css" rel="stylesheet" media="all"> <link href="default.css" rel="stylesheet" media="all"> </head> <body> <a href="#" class="usagi"> <span class="front"><img src="img/usagi.png" ></span> <span class="back"><img src="img/usagi02.png" ></span> </a> </body> </html>
CSS
@charset "UTF-8"; body { margin: 0 0; } .usagi { color: #fff; display: block; text-decoration: none; width: 200px; position: relative; perspective: 300px; -webkit-perspective: 300px; } .usagi span { text-align: center; display: block; width: 200px; padding: 30px 0; position:absolute; top: 0; margin-top: -30px; backface-visibility: hidden; -webkit-backface-visibility: hidden; transition: 0.8s; } .usagi .back { transform:rotateY(180deg); -webkit-transform:rotateY(180deg); } .usagi:hover .front { transform:rotateY(180deg); -webkit-transform:rotateY(180deg); } .usagi:hover .back { transform:rotateY(360deg); -webkit-transform:rotateY(360deg); }
これだけでおっけい!
DEMOはこちら
ブラウザ確認
これは全てはCSSだけで実装できますが、ここで問題となるのがIEなどのブラウザの壁。
ですが、対応ブラウザを書いてくれているサイトもあります。↓
http://fmbip.com/litmus/
こちらのサイトではCSSのセレクタごとの対応ブラウザも書いていてくれて便利です。
以上、CSSだけで出来る!気持ち良いマウスオーバーアクションまとめでした。
今後、CSSだけでできることが続々増えていってくれることを願いますが、
それとともに対応ブラウザの増加も強く願います。