Comment puis-je faire ceci? Je veux que mon élément ressemble à un soulignement ombré. Je ne veux pas de l'ombre pour les 3 autres côtés.
Faire ceci:
box-shadow: 0 4px 2px -2px gray;
C'est en fait beaucoup plus simple, quelle que soit la définition du flou (3ème valeur), définissez le décalage (4ème valeur) sur le négatif.
Vous pouvez utiliser deux éléments, l'un à l'intérieur de l'autre, et donner à l'élément externe overflow: hidden
et une largeur égale à l'élément interne, ainsi qu'un rembourrage inférieur de sorte que l'ombre de tous les autres côtés soit "coupée"
#outer {
width: 100px;
overflow: hidden;
padding-bottom: 10px;
}
#outer > div {
width: 100px;
height: 100px;
background: orange;
-moz-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.4);
-webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.4);
box-shadow: 0 4px 4px rgba(0, 0, 0, 0.4);
}
Vous pouvez également faire flotter l'élément extérieur pour le ramener à la taille de l'élément intérieur. Voir: http://jsfiddle.net/QJPd5/1/
Essaye ça
-moz-box-shadow:0 5px 5px rgba(182, 182, 182, 0.75);
-webkit-box-shadow: 0 5px 5px rgba(182, 182, 182, 0.75);
box-shadow: 0 5px 5px rgba(182, 182, 182, 0.75);
Vous pouvez le voir dans http://jsfiddle.net/wJ7qp/
essayez ceci pour obtenir la zone d'ombre sous votre contrôle total.
<html>
<head>
<style>
div {
width:300px;
height:100px;
background-color:yellow;
box-shadow: 0 10px black inset,0 -10px red inset, -10px 0 blue inset, 10px 0 green inset;
}
</style>
</head>
<body>
<div>
</div>
</body>
</html>
cela s'appliquerait également à l'ombre externe.