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;
 ...