[CSS]画像を使用しないで、紙がひらっとめくれたエフェクトを与えるスタイルシート

あらゆるサイズのエレメントに利用が可能な、紙がひらっとめくれたようなページカールのエフェクトを与えるスタイルシートを紹介します。

デモのキャプチャ

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

top of page

©2018 coliss