【CSS】画像を使わずにページがめくれたようなエフェクトをつける

CSS デザイン

css_page_pera

画像を使うとなると、要素の大きさにより一つ一つ作り直す必要がありますが
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

css_page_pera_sample01

綺麗にできました。

影の濃度、ぼかし具合はお好みで。

CSS デザイン

関連記事