Biasanya untuk membuat efek bayangan pada sebuah desain kita akan menggunakan bantuan aplikasi desain seperti Adobe Photoshop atau lainnya. Namun dengan menggunakan property box-shadow yang ada di CSS3 kita dapat membuat efek bayangan dengan sangat mudah. Property box-shadow memungkinkan Anda untuk membuat efek bayangan pada elemen tertentu dengan efek warna, blur sesuai dengan keinginan Anda.

CSS Box Shadow
Syantax untuk membuat box-shadow ialah :
Keterangan :
- h-shadow : Wajib. Posisi bayangan secara horizontal.
- v-shadow : Wajib. Posisi bayangan secara vertikal.
- blur : Opsional. Jarak blur.
- spread : Opsional. Ukuran bayangan.
- color : Opsional. Warna banyangan.
- inset : Opsional. Perubahan bayangan dari luar (awal) ke dalam objek.
Contoh
Contoh penggunaan syntax box-shadow :
box-shadow: 10px 10px 5px #888;
box-shadow: 2px 2px 2px 2px black;
box-shadow: 10px 10px 50px 20px black inset;
box-shadow: 10px 10px #888, -10px -10px #f4f4f4, 0px 0px 5px 5px #cc6600;
Berikut berbagai kreasi efek box-shadow.
Efek 1

HTML
<div class="box Efek1"> <h3>Efek 1</h3> </div>
CSS
.box h3{
text-align:center;
position:relative;
top:80px;
}
.box {
width:50%;
height:200px;
background:#FFF;
margin:40px auto;
}
/*==================================================
* Efek 1
* ===============================================*/
.Efek1{
-webkit-box-shadow: 0 10px 6px -6px #777;
-moz-box-shadow: 0 10px 6px -6px #777;
box-shadow: 0 10px 6px -6px #777;
}
Efek 2

HTML
<div class="box Efek2"> <h3>Efek 2</h3> </div>
CSS
.box h3{
text-align:center;
position:relative;
top:80px;
}
.box {
width:50%;
height:200px;
background:#FFF;
margin:40px auto;
}
/*==================================================
* Efek 2
* ===============================================*/
.Efek2
{
position: relative;
}
.Efek2:before, .Efek2:after
{
z-index: -1;
position: absolute;
content: "";
bottom: 15px;
left: 10px;
width: 50%;
top: 80%;
max-width:300px;
background: #777;
-webkit-box-shadow: 0 15px 10px #777;
-moz-box-shadow: 0 15px 10px #777;
box-shadow: 0 15px 10px #777;
-webkit-transform: rotate(-3deg);
-moz-transform: rotate(-3deg);
-o-transform: rotate(-3deg);
-ms-transform: rotate(-3deg);
transform: rotate(-3deg);
}
.Efek2:after
{
-webkit-transform: rotate(3deg);
-moz-transform: rotate(3deg);
-o-transform: rotate(3deg);
-ms-transform: rotate(3deg);
transform: rotate(3deg);
right: 10px;
left: auto;
}
Efek 3

HTML
<div class="box Efek3"> <h3>Efek 3</h3> </div>
CSS
.box h3{
text-align:center;
position:relative;
top:80px;
}
.box {
width:50%;
height:200px;
background:#FFF;
margin:40px auto;
}
/*==================================================
* Efek 3
* ===============================================*/
.Efek3
{
position: relative;
}
.Efek3:before
{
z-index: -1;
position: absolute;
content: "";
bottom: 15px;
left: 10px;
width: 50%;
top: 80%;
max-width:300px;
background: #777;
-webkit-box-shadow: 0 15px 10px #777;
-moz-box-shadow: 0 15px 10px #777;
box-shadow: 0 15px 10px #777;
-webkit-transform: rotate(-3deg);
-moz-transform: rotate(-3deg);
-o-transform: rotate(-3deg);
-ms-transform: rotate(-3deg);
transform: rotate(-3deg);
}
Efek 4

HTML
<div class="box Efek4"> <h3>Efek 4</h3> </div>
CSS
.box h3{
text-align:center;
position:relative;
top:80px;
}
.box {
width:50%;
height:200px;
background:#FFF;
margin:40px auto;
}
/*==================================================
* Efek 4
* ===============================================*/
.Efek4
{
position: relative;
}
.Efek4:after
{
z-index: -1;
position: absolute;
content: "";
bottom: 15px;
right: 10px;
left: auto;
width: 50%;
top: 80%;
max-width:300px;
background: #777;
-webkit-box-shadow: 0 15px 10px #777;
-moz-box-shadow: 0 15px 10px #777;
box-shadow: 0 15px 10px #777;
-webkit-transform: rotate(3deg);
-moz-transform: rotate(3deg);
-o-transform: rotate(3deg);
-ms-transform: rotate(3deg);
transform: rotate(3deg);
}
Efek 5

HTML
<div class="box Efek5"> <h3>Efek 5</h3> </div>
CSS
.box h3{
text-align:center;
position:relative;
top:80px;
}
.box {
width:50%;
height:200px;
background:#FFF;
margin:40px auto;
}
/*==================================================
* Efek 5
* ===============================================*/
.Efek5
{
position: relative;
}
.Efek5:before, .Efek5:after
{
z-index: -1;
position: absolute;
content: "";
bottom: 25px;
left: 10px;
width: 50%;
top: 80%;
max-width:300px;
background: #777;
-webkit-box-shadow: 0 35px 20px #777;
-moz-box-shadow: 0 35px 20px #777;
box-shadow: 0 35px 20px #777;
-webkit-transform: rotate(-8deg);
-moz-transform: rotate(-8deg);
-o-transform: rotate(-8deg);
-ms-transform: rotate(-8deg);
transform: rotate(-8deg);
}
.Efek5:after
{
-webkit-transform: rotate(8deg);
-moz-transform: rotate(8deg);
-o-transform: rotate(8deg);
-ms-transform: rotate(8deg);
transform: rotate(8deg);
right: 10px;
left: auto;
}
Efek 6

HTML
<div class="box Efek6"> <h3>Efek 6</h3> </div>
CSS
.box h3{
text-align:center;
position:relative;
top:80px;
}
.box {
width:50%;
height:200px;
background:#FFF;
margin:40px auto;
}
/*==================================================
* Efek 6
* ===============================================*/
.Efek6
{
position:relative;
-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
-moz-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;
}
.Efek6:before, .Efek6:after
{
content:"";
position:absolute;
z-index:-1;
-webkit-box-shadow:0 0 20px rgba(0,0,0,0.8);
-moz-box-shadow:0 0 20px rgba(0,0,0,0.8);
box-shadow:0 0 20px rgba(0,0,0,0.8);
top:50%;
bottom:0;
left:10px;
right:10px;
-moz-border-radius:100px / 10px;
border-radius:100px / 10px;
}
.Efek6:after
{
right:10px;
left:auto;
-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);
}
Efek 7

HTML
<div class="box Efek7"> <h3>Efek 7</h3> </div>
CSS
.box h3{
text-align:center;
position:relative;
top:80px;
}
.box {
width:50%;
height:200px;
background:#FFF;
margin:40px auto;
}
/*==================================================
* Efek 7
* ===============================================*/
.Efek7
{
position:relative;
-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
-moz-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;
}
.Efek7:before, .Efek7:after
{
content:"";
position:absolute;
z-index:-1;
-webkit-box-shadow:0 0 20px rgba(0,0,0,0.8);
-moz-box-shadow:0 0 20px rgba(0,0,0,0.8);
box-shadow:0 0 20px rgba(0,0,0,0.8);
top:0;
bottom:0;
left:10px;
right:10px;
-moz-border-radius:100px / 10px;
border-radius:100px / 10px;
}
.Efek7:after
{
right:10px;
left:auto;
-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);
}
Efek 8

HTML
<div class="box Efek8"> <h3>Efek 8</h3> </div>
CSS
.box h3{
text-align:center;
position:relative;
top:80px;
}
.box {
width:50%;
height:200px;
background:#FFF;
margin:40px auto;
}
/*==================================================
* Efek 8
* ===============================================*/
.Efek8
{
position:relative;
-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
-moz-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;
}
.Efek8:before, .Efek8:after
{
content:"";
position:absolute;
z-index:-1;
-webkit-box-shadow:0 0 20px rgba(0,0,0,0.8);
-moz-box-shadow:0 0 20px rgba(0,0,0,0.8);
box-shadow:0 0 20px rgba(0,0,0,0.8);
top:10px;
bottom:10px;
left:0;
right:0;
-moz-border-radius:100px / 10px;
border-radius:100px / 10px;
}
.Efek8:after
{
right:10px;
left:auto;
-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);
}
Kesimpulan
Dengan CSS3, Anda dapat membuat objek bayangan dengan property box shadow. Silahkan berkreasi untuk membuat efek lainnya.









