CSSでボーダーのアニメーションを考えてみたけど・・・
ホバーアニメーションなんていってますが、
いわゆるある要素にマウスオーバーすると、要素が色変わったり、大きくなったりするやつで、それをcssやらjavascriptなんかでアニメーションさせる動きのことです。
今弊社サイトのブログ一覧では、ホバーするとグレースケールになりますが、
それをボーダーで出来ないかと考えてみました。
ボーダーを色を変えるのは当たり前のように出来るのですが、
CSSだけで簡単に横から変わっていったりといった動きをつけられるかを試してみました。
borderのプロパティだけでは色をゆっくり変えるくらいしか出来ませんでした。
(誰かおしえて下さい)
出来ないで終わってしまうのもなんなので、違うやり方で、ボーダーがアニメーションしている感じを表現しました。
下記から御覧ください!!
時間がなかったため、すごい簡単なのしか出来ませんでした・・・
擬似要素とdivを重ねて表現しています。
ソースは下記になります。
※DEMOの「横からアニメーション」のソースになります。
html
1 2 3 4 5 | <div class="box box1"> <div class="boxIn"> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Modi, placeat, cum. Odio tempore aliquam nobis, quo aut tempora perspiciatis, aspernatur libero, voluptatem numquam ut impedit harum consequatur a molestiae magni. </div> </div> |
css
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | .box { width: 300px; position: relative; padding: 4px; } .box:before { content: ""; position: absolute; display: block; top: 0; left :0; background-color: #EBC70A; z-index: 1; -webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; } .boxIn{ background-color: #fff; padding: 10px; z-index: 2; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; position: relative; } .box1:before { height: 100%; width: 0; } .box1:hover:before{ width: 100%; } |
もっとカッコイイのをやりたい場合は、
他を検索してみてください笑
コードが複雑になりますが、スタイリュッシュな表現もCSSだけで出来るようです!
Author Profile
スターフィールド編集部
SHARE