[CSS]画像を使用しないで、紙がひらっとめくれたエフェクトを与えるスタイルシート
Post on:2011年4月28日
あらゆるサイズのエレメントに利用が可能な、紙がひらっとめくれたようなページカールのエフェクトを与えるスタイルシートを紹介します。
How to Create CSS3 Paper Curls Without Images
デモページ
[ad#ad-2]
ページカールのエフェクトは、コンテナの下部に適用してあります。
デモページの拡大
このエフェクトはページのあらゆるサイズの要素に簡単に適用できます。
紙がひらっとめくれたエフェクトの実装方法
HTML
HTMLはシンプルです。div要素にclassを付与しているだけです。
<div class="box">My box</div>
CSS:シャドウの適用
box-shadowを使用して、内側と外側にシャドウを適用します。
.box { position: relative; width: 500px; padding: 50px; margin: 0 auto; background-color: #fff; -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2), inset 0 0 50px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2), inset 0 0 50px rgba(0, 0, 0, 0.1); box-shadow: 0 0 5px rgba(0, 0, 0, 0.2), inset 0 0 50px rgba(0, 0, 0, 0.1); }
[ad#ad-2]
CSS:カールの適用
エッジをカールさせるには、疑似要素を使用します。
.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); }
紙がひらっとめくれたエフェクトの特徴
- シャドウの配置は、簡単です。
- 対応ブラウザは、モダンブラウザです。
CSS3や疑似要素をサポートしないブラウザ(IE7など)はエフェクトが適用されないだけです。 - シャドウは追加の画像を必要せず、どんな背景にも重なります。
- どんな大きさのエレメントにも適用できます。
- コードは再利用が可能で、画像ベースのものより少ない容量でしょう。
sponsors