UPDATE 4
Wie Update 3, jedoch mit modernem CSS (= weniger Regeln), sodass keine spezielle Positionierung auf dem Pseudoelement erforderlich ist.
#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>
UPDATE 3
Alle meine vorherigen Antworten haben zusätzliches Markup verwendet, um diesen Effekt zu erzielen, der nicht unbedingt benötigt wird. Ich denke, dies ist eine viel sauberere Lösung ... der einzige Trick besteht darin, mit den Werten herumzuspielen, um die richtige Positionierung des Schattens sowie die richtige Stärke / Opazität des Schattens zu erhalten. Hier ist eine neue Geige, die Pseudoelemente verwendet :
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;
}
UPDATE 2
Anscheinend können Sie dies mit nur einem zusätzlichen Parameter für das Box-Shadow-CSS tun, wie alle anderen gerade betont haben. Hier ist die 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;
Dies wäre eine bessere Lösung. Der zusätzliche Parameter, der hinzugefügt wird, wird wie folgt beschrieben:
Die vierte Länge ist eine Ausbreitungsstrecke. Positive Werte bewirken, dass sich die Schattenform um den angegebenen Radius in alle Richtungen ausdehnt. Negative Werte bewirken, dass sich die Schattenform zusammenzieht.
AKTUALISIEREN
Schauen Sie sich die Demo unter jsFiddle an: http://jsfiddle.net/K88H9/4/
Ich habe ein "Schattenelement" erstellt, das sich hinter dem eigentlichen Element verbirgt, für das Sie einen Schatten haben möchten. Ich habe die Breite des "Schattenelements" um das Zweifache des von Ihnen angegebenen Schattens genau so breit gemacht wie das eigentliche Element. dann habe ich es richtig ausgerichtet.
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;
}
Ursprüngliche Antwort
Ja, Sie können dies mit derselben Syntax tun, die Sie angegeben haben. Der erste Wert steuert die horizontale Positionierung und der zweite Wert steuert die vertikale Positionierung. Stellen Sie also einfach den ersten Wert 0px
und den zweiten auf den gewünschten Versatz wie folgt ein:
-webkit-box-shadow: 0px 5px #000000;
-moz-box-shadow: 0px 5px #000000;
box-shadow: 0px 5px #000000;
Weitere Informationen zu Boxschatten finden Sie in den folgenden Abschnitten:
Ich hoffe das hilft.
box-shadow-bottom
die nicht vorhanden sind und von niemandem unterstützt werden. Informationen zu legitimen Box-Shadow-Techniken finden Sie unter nicolasgallagher.com/css-drop-shadows-without-images/demo .