AKTUALIZACJA 4
To samo co aktualizacja 3, ale z nowoczesnym css (= mniej reguł), dzięki czemu nie jest wymagane specjalne pozycjonowanie na pseudoelemencie.
#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>
AKTUALIZACJA 3
Wszystkie moje poprzednie odpowiedzi wykorzystywały dodatkowe znaczniki, aby uzyskać ten efekt, który niekoniecznie jest potrzebny. Myślę, że to znacznie czystsze rozwiązanie ... jedyną sztuczką jest zabawa z wartościami, aby uzyskać właściwe ustawienie cienia, a także odpowiednią siłę / krycie cienia. Oto nowe skrzypce, wykorzystujące pseudoelementy :
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;
}
AKTUALIZACJA 2
Najwyraźniej możesz to zrobić za pomocą dodatkowego parametru w CSS-cieniu, jak wszyscy inni właśnie zauważyli. Oto 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;
To byłoby lepsze rozwiązanie. Dodany dodatkowy parametr jest opisany jako:
Czwarta długość to odległość rozrzutu. Wartości dodatnie powodują, że kształt cienia rozszerza się we wszystkich kierunkach o określony promień. Wartości ujemne powodują kurczenie się kształtu cienia.
AKTUALIZACJA
Sprawdź wersję demo na jsFiddle: http://jsfiddle.net/K88H9/4/
To, co zrobiłem, to stworzenie „elementu cienia”, który ukryłby się za faktycznym elementem, który chciałbyś mieć cień. Sprawiłem, że szerokość „elementu cienia” była dokładnie mniejsza niż rzeczywisty element o 2 razy większy niż określony cień; potem wyrównałem to poprawnie.
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;
}
Oryginalna odpowiedź
Tak, możesz to zrobić przy użyciu tej samej składni, którą podałeś. Pierwsza wartość steruje pozycjonowaniem poziomym, a druga wartość steruje pozycjonowaniem pionowym. Więc po prostu ustaw pierwszą wartość, 0pxa drugą dowolne przesunięcie, jakie chcesz:
-webkit-box-shadow: 0px 5px #000000;
-moz-box-shadow: 0px 5px #000000;
box-shadow: 0px 5px #000000;
Aby uzyskać więcej informacji na temat cieni, sprawdź te:
Mam nadzieję, że to pomoże.
box-shadow-bottomktóre nie istnieją i nie są przez nikogo obsługiwane. Zobacz nicolasgallagher.com/css-drop-shadows-without-images/demo, aby uzyskać informacje na temat legalnych technik tworzenia cieni.