[CSS]紙がふわりとする繊細なエフェクトをシンプルなHTMLで実装するテクニック
Post on:2014年10月23日
divで実装したパネルに紙がふわりとするようなエフェクトを与えるスタイルシートのテクニックを紹介します。
デモではパネル底の左右がふわりとなります。
実際の動作は下記ページで確認できます。
実装は非常にシンプルです。
HTML
HTMLは、div一つだけです。
<div class="box"></div>
CSS
スタイルシートはベンダプレフィックスも含めてあるのでちょっと長いですが、コピペで利用できます。
body { margin: 0; padding: 0; background: #efefef; } .box { position: relative; margin: 40px auto; width: 400px; height: 350px; background: #fff; border-radius: 2px; } .box::before, .box::after { content: ''; position: absolute; bottom: 10px; width: 40%; height: 10px; box-shadow: 0 5px 14px rgba(0, 0, 0, 0.7); z-index: -1; -webkit-transition: all .3s ease-in-out; transition: all .3s ease-in-out; } .box::before { left: 15px; -webkit-transform: skew(-5deg) rotate(-5deg); -ms-transform: skew(-5deg) rotate(-5deg); transform: skew(-5deg) rotate(-5deg); } .box::after { right: 15px; -webkit-transform: skew(5deg) rotate(5deg); -ms-transform: skew(5deg) rotate(5deg); transform: skew(5deg) rotate(5deg); } .box:hover::before, .box:hover::after { box-shadow: 0 2px 14px rgba(0, 0, 0, 0.4); } .box:hover::before { left: 5px; } .box:hover::after { right: 5px; }
sponsors