[CSS]画像を使用しないで、紙がひらっとめくれたエフェクトを与えるスタイルシート
Post on:2011年4月28日
sponsorsr
あらゆるサイズのエレメントに利用が可能な、紙がひらっとめくれたようなページカールのエフェクトを与えるスタイルシートを紹介します。

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











