CSS3 Shadows
by Apple Ilagan
HTML
<div id="container">
<div class="drop-shadow lifted">
<p>Lifted corners</p>
</div>
<div class="drop-shadow curled">
<p>Curled corners</p>
</div>
<div class="drop-shadow perspective">
<p>Perspective</p>
</div>
<div class="drop-shadow raised">
<p>Raised box</p>
</div>
<div class="drop-shadow curved v1">
<p>Single vertical curve</p>
</div>
<div class="drop-shadow curved v2">
<p>Vertical curves</p>
</div>
<div class="drop-shadow curved h1">
<p>Single horizontal curve</p>
</div>
<div class="drop-shadow curved h2">
<p>Horizontal curves</p>
</div>
<div class="drop-shadow lifted rotated">
<p>Rotated box</p>
</div>
</div>
CSS
#container {
width: 600px;
margin: 0 auto;
}
.drop-shadow {
position: relative;
float: left;
width: 40%;
padding: 1em;
margin: 2em 10px 4em;
background: #fff;
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) , 0 0 40px rgba(0, 0, 0, 0.1) inset;
-mox-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) , 0 0 40px rgba(0, 0, 0, 0.1) inset;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) , 0 0 40px rgba(0, 0, 0, 0.1) inset;
}
.drop-shadow:before,
.drop-shadow:after {
content: "";
position: absolute;
z-index: -2;
}
.drop-shadow p {
font-size: 16px;
font-weight: bold;
}
.lifted {
-moz-border-radius: 4px;
border-radius: 4px;
}
.lifted:before,
.lifted:after {
bottom: 15px;
left: 10px;
width: 50%;
height: 20%;
max-width: 300px;
max-height: 100px;
-webkit-box-shadow: 0 15px 10px rgba(0, 0, 0, 0.7);
-mox-box-shadow: 0 15px 10px rgba(0, 0, 0, 0.7);
box-shadow: 0 15px 10px rgba(0, 0, 0, 0.7);
-webkit-transform: rotate(-3deg);
-moz-transform: rotate(-3deg);
-ms-transform: rotate(-3deg);
-o-transform: rotate(-3deg);
transform: rotate(-3deg);
}
.lifted:after {
right: 10px;
left: auto;
-webkit-transform: rotate(3deg);
-moz-transform: rotate(3deg);
-ms-transform: rotate(3deg);
-o-transform: rotate(3deg);
transform: rotate(3deg);
}
.curled {
border: 1px solid #efefef;
-moz-border-radius: 0 0 120px 120px / 0 0 6px 6px;
border-radius: 0 0 120px 120px / 0 0 6px 6px;
}
.curled:before,
.curled:after {
bottom: 12px;
left: 10px;
width: 50%;
height: 55%;
max-width: 200px;
max-height: 100px;
-webkit-box-shadow: 0 8px 12px rgba(0, 0, 0, 0.5);
-mox-box-shadow: 0 8px 12px rgba(0, 0, 0, 0.5);
box-shadow: 0 8px 12px rgba(0, 0, 0, 0.5);
-webkit-transform: skew(-8deg) rotate(-3deg);
-moz-transform: skew(-8deg) rotate(-3deg);
-ms-transform: skew(-8deg) rotate(-3deg);
-o-transform: skew(-8deg) rotate(-3deg);
transform: skew(-8deg) rotate(-3deg);
}
.curled:after {
right: 10px;
left: auto;
...