J'ai joué avec et je pense avoir une solution. L'exemple suivant montre comment définir Box-Shadow de manière à ce que l'ombre ne soit affichée que pour les parties supérieure et inférieure d'un élément.
Légende : insetOption leftPosition topPosition blurStrength spreadStrength couleur
Description
La clé pour y parvenir est de définir la valeur du flou à <= la valeur négative de l'écart (ex. inset 0px 5px -?px 5px #000 ; la valeur du flou doit être de -5 et moins) et de garder la valeur du flou > 0 lorsqu'elle est soustraite de la valeur de positionnement primaire (ex. en utilisant l'exemple ci-dessus, la valeur du flou doit être de -9 et plus, ce qui nous donne une valeur optimale pour le flou entre -5 et -9).
Solution
.styleName {
/* for IE 8 and lower */
background-color:#888; filter: progid:DXImageTransform.Microsoft.dropShadow(color=#FFFFCC, offX=0, offY=0, positive=true);
/* for IE 9 */
box-shadow: inset 0px 2px -2px 2px rgba(255,255,204,0.7), inset 0px -2px -2px 2px rgba(255,255,204,0.7);
/* for webkit browsers */
-webkit-box-shadow: inset 0px 2px -2px 2px rgba(255,255,204,0.7), inset 0px -2px -2px 2px rgba(255,255,204,0.7);
/* for firefox 3.6+ */
-moz-box-shadow: inset 0px 2px -2px 2px rgba(255,255,204,0.7), inset 0px -2px -2px 2px rgba(255,255,204,0.7);
}
2 votes
Duplicata de nombreuses autres questions sur l'ombrage de certains côtés d'une boîte (voir colonne connexe ->)
1 votes
Ce violon peut être utile à certains.
0 votes
Avec des ombres multiples : stackoverflow.com/a/20596554/1491212 Vous pouvez l'adapter pour le haut et le bas mais vous aurez l'essentiel.
0 votes
@BoltClock mais je veux des ombres en dehors, pas en dedans.