【CSS】画像を使わずにページがめくれたようなエフェクトをつける
画像を使うとなると、要素の大きさにより一つ一つ作り直す必要がありますが
CSSでエフェクトをつけることで面倒な画像作成の手間がなくなります。
今回は紙がめくれたようなエフェクトを画像を使わずにつける方法を紹介します。
HTML
<div class="box"> <!-- コンテンツ --> </div>
CSS
.box { position: relative; width: 400px; padding: 50px; margin: 0 auto; background-color: #fff; -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.15), inset 0 0 50px rgba(0, 0, 0, 0.03); -moz-box-shadow: 0 0 1px rgba(0, 0, 0, 0.15), inset 0 0 50px rgba(0, 0, 0, 0.03); box-shadow: 0 0 2px rgba(0, 0, 0, 0.15), inset 0 0 50px rgba(0, 0, 0, 0.03); } .box:before, .box:after { position: absolute; width: 40%; height: 10px; content: ' '; left: 12px; bottom: 12px; background: transparent; -webkit-transform: skew(-5deg) rotate(-5deg); -moz-transform: skew(-5deg) rotate(-5deg); -ms-transform: skew(-5deg) rotate(-5deg); -o-transform: skew(-5deg) rotate(-5deg); transform: skew(-5deg) rotate(-5deg); -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); z-index: -1; } .box:after { left: auto; right: 12px; -webkit-transform: skew(5deg) rotate(5deg); -moz-transform: skew(5deg) rotate(5deg); -ms-transform: skew(5deg) rotate(5deg); -o-transform: skew(5deg) rotate(5deg); transform: skew(5deg) rotate(5deg); }
参考:How to Create CSS3 Paper Curls Without Images
綺麗にできました。
影の濃度、ぼかし具合はお好みで。
関連記事