Mise à JOUR 3
Tous mes réponses précédentes ont été à l'aide de supplémentaires de balisage pour obtenir cet effet, ce qui n'est pas forcément nécessaire. Je pense que c'est un beaucoup plus propre solution... le seul truc, c'est de jouer avec les valeurs pour obtenir le bon positionnement de l'ombre ainsi que le droit sur la force, l'opacité de l'ombre. Voici un nouveau violon, à l'aide de pseudo-éléments:
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;
}
Mise à JOUR 2
Apparemment, vous pouvez le faire avec un paramètre supplémentaire à la box-shadow CSS que tout le monde vient de rappeler. Voici la démo:
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;
Ce serait une meilleure solution. Le paramètre supplémentaire qui est ajouté est décrit comme:
La quatrième longueur est un écart
distance. Les valeurs positives de provoquer l'
forme de l'ombre à se développer dans toutes
les directions par le rayon spécifié.
Les valeurs négatives cause de la forme de l'ombre
de contrat.
Mise à JOUR
Découvrez la démo sur jsFiddle: http://jsfiddle.net/K88H9/4/
Ce que j'ai fait était de créer une "ombre " élément" qui se cache derrière l'élément que vous voulez avoir une ombre. J'ai fait la largeur de l'ombre "élément" pour être exactement moins large que les éléments réels par 2 fois l'ombre que vous spécifiez; ensuite, j'ai aligné correctement.
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;
}
Réponse Originale À Cette Question
Oui, vous pouvez le faire avec la même syntaxe que vous avez fournis. La première valeur contrôle la position horizontale et la deuxième valeur contrôle la position verticale. Donc, il suffit de régler le premier de la valeur à 0px
et la seconde à ce décalage que vous souhaitez comme suit:
-webkit-box-shadow: 0px 5px #000000;
-moz-box-shadow: 0px 5px #000000;
box-shadow: 0px 5px #000000;
Pour plus d'informations sur la boîte ombres, découvrez ces:
J'espère que cette aide.