画像を使わずにCSS3で紙がカールしたような効果を表現する
よくみかける紙がカールしたように見える効果を、画像を使わずにcss3で表現する方法です。CSS3や疑似要素をサポートしていないブラウザ(IE7以下等)では再現できません。
How to Create CSS3 Paper Curls Without Imagesでコードが公開されています。
実際に使ってみた”demo”です。
使ってみたdemoのコードは以下です。
CSSのコード
疑似要素を使って.photoboxの前後に架空のボックスを2つ作ります。そのボックス2つをpositionで配置し”z-index: -1;”で背面に回して、transformプロバティを使いボックスを斜めにして下のグラデーションの部分をだしています。How to Create CSS3 Paper Curls Without Imagesでも解説されていますが、↓こんな感じですね。
.photo_wrap{ width: 600px; display: block; margin: 0 auto; position: relative; padding: 20px; margin: 0 auto; background-color: #fff; border: solid 1px #eee; } .photo_wrap:before, .photo_wrap: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; } .photo_wrap: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); }
HTMLのコードです
<div class="content"> <div class="photo_wrap"><img class="photo" src="images/p01.jpg"></div> </div>
画像を使わずに複雑な効果を再現できます。
IEでももっとCSS3がサポートされていたらいいですね。
No Comments & Tracbacks