PEMBARUAN 4
Sama seperti pembaruan 3 tetapi dengan css modern (= aturan kurang) sehingga tidak diperlukan pemosisian khusus pada elemen pseudo.
#box {
background-color: #3D6AA2;
width: 160px;
height: 90px;
position: absolute;
top: calc(10% - 10px);
left: calc(50% - 80px);
}
.box-shadow:after {
content:"";
position:absolute;
width:100%;
bottom:1px;
z-index:-1;
transform:scale(.9);
box-shadow: 0px 0px 8px 2px #000000;
}
<div id="box" class="box-shadow"></div>
PEMBARUAN 3
Semua jawaban saya sebelumnya telah menggunakan markup tambahan untuk mendapatkan efek ini, yang belum tentu diperlukan. Saya pikir ini solusi yang jauh lebih bersih ... satu-satunya trik adalah bermain-main dengan nilai-nilai untuk mendapatkan posisi bayangan yang tepat serta kekuatan / opacity bayangan yang tepat. Ini biola baru, menggunakan elemen semu :
http://jsfiddle.net/UnsungHero97/ARRRZ/2/
HTML
<div id="box" class="box-shadow"></div>
CSS
#box {
background-color: #3D6AA2;
width: 160px;
height: 90px;
margin-top: -45px;
margin-left: -80px;
position: absolute;
top: 50%;
left: 50%;
}
.box-shadow:after {
content: "";
width: 150px;
height: 1px;
margin-top: 88px;
margin-left: -75px;
display: block;
position: absolute;
left: 50%;
z-index: -1;
-webkit-box-shadow: 0px 0px 8px 2px #000000;
-moz-box-shadow: 0px 0px 8px 2px #000000;
box-shadow: 0px 0px 8px 2px #000000;
}
PEMBARUAN 2
Rupanya, Anda dapat melakukan ini hanya dengan parameter tambahan ke kotak-bayangan CSS seperti yang semua orang lain tunjukkan. Inilah demo:
http://jsfiddle.net/K88H9/821/
CSS
-webkit-box-shadow: 0 4px 4px -2px #000000;
-moz-box-shadow: 0 4px 4px -2px #000000;
box-shadow: 0 4px 4px -2px #000000;
Ini akan menjadi solusi yang lebih baik. Parameter tambahan yang ditambahkan dijelaskan sebagai:
Panjang keempat adalah jarak sebaran. Nilai positif menyebabkan bentuk bayangan melebar ke semua arah dengan radius yang ditentukan. Nilai negatif menyebabkan bentuk bayangan berkontraksi.
MEMPERBARUI
Lihatlah demo di jsFiddle: http://jsfiddle.net/K88H9/4/
Apa yang saya lakukan adalah membuat "elemen bayangan" yang akan bersembunyi di balik elemen sebenarnya yang Anda ingin memiliki bayangan. Saya membuat lebar "elemen bayangan" menjadi persis kurang lebar dari elemen sebenarnya dengan 2 kali bayangan yang Anda tentukan; kemudian saya menyelaraskannya dengan benar.
HTML
<div id="wrapper">
<div id="element"></div>
<div id="shadow"></div>
</div>
CSS
#wrapper {
width: 84px;
position: relative;
}
#element {
background-color: #3D668F;
height: 54px;
width: 100%;
position: relative;
z-index: 10;
}
#shadow {
background-color: #3D668F;
height: 8px;
width: 80px;
margin-left: -40px;
position: absolute;
bottom: 0px;
left: 50%;
z-index: 5;
-webkit-box-shadow: 0px 2px 4px #000000;
-moz-box-shadow: 0px 2px 4px #000000;
box-shadow: 0px 2px 4px #000000;
}
Jawaban Asli
Ya, Anda dapat melakukan ini dengan sintaks yang sama dengan yang Anda berikan. Nilai pertama mengontrol posisi horisontal dan nilai kedua mengontrol posisi vertikal. Jadi cukup atur nilai pertama ke 0px
dan yang kedua untuk offset apa pun yang Anda inginkan sebagai berikut:
-webkit-box-shadow: 0px 5px #000000;
-moz-box-shadow: 0px 5px #000000;
box-shadow: 0px 5px #000000;
Untuk info lebih lanjut tentang bayangan kotak, periksa ini:
Saya harap ini membantu.
box-shadow-bottom
yang tidak ada, dan tidak didukung oleh siapa pun. Lihat nicolasgallagher.com/css-drop-shadows-without-images/demo untuk teknik bayangan kotak yang sah.