









Voici 2 méthode pour ajouter une ombre a vos images.
Il faut tous d'abord créer une image qui représentera notre ombre.
Nous allons la créer au format png ET gif, car IE ne gère pas la transparence du format png.
Pour que votre ombre soit correcte dans tous les cas de figures, il faut créer une image plus grande que la plus grande des images de votre site.
Par exemple, si votre image la plus grande fait 800*600 pixels, et que vous voulez une ombre porté de 6 pixels, vous devez créer une image vide de 806*606 pixels.
Dans ce nouveau fichier vide, créer votre ombre portée.
Ci-dessous, celle que nous utiliserons pour l'exemple. La porté de notre ombre est de 6px :
Voici le css qui permettra d'appliquer l'ombre à l'image:
.img-shadow { float:left; /* La première ligne permet d'utiliser l'ombre au format png pour la plupart*/ /* des navigateur. La seconde utilisera le format gif pour IE. */ background: url(shadowAlpha.png) no-repeat bottom right !important; background: url(shadow.gif) no-repeat bottom right; } .img-shadow img { display: block; position: relative; border: 1px solid #a9a9a9; /* Cette ligne permet de placer correctement notre image par rapport à notre*/ /*ombre. Les valeur sont choisi en conséquence de l'étendue de l'ombre. */ margin: -6px 6px 6px -6px; }
Maintenant le code html.
Sur le principe, on affiche l'image dans une div. Cette div a pour fond l'ombre. Les marge donné a l'image donne un effet de décalage par rapport a la DIV.
<div class="img-shadow"> <img src="img.jpg" alt="test"/> </div>
Voici le résultat :
Cette méthode n'est pas bien compliquée.
On défini 2 DIV, toutes avec une couleur de fond différente (mais proche).
Pour l'exemple nous utiliserons du dégradé de gris mais vous pouvez faire vos ombre de la couleur que vous le voulez.
La 1ère DIV contient la 2ème et la 2ème DIV contient notre image : En HTML cela donne ça :
<div class="flou"> <div class="ombre"> <img class="contenu" src="img.jpg" alt="test"/> </div> </div>
Évidement, sans CSS, ça ne donne pas grand chose, voici donc le CSS :
.flou{ background-color: #ccc; /*couleur de l'ombre */ margin-left: 4px; margin-top: 4px; float:left; } .ombre, .contenu { position: relative; bottom: 2px; right: 2px; } .ombre{ background-color: #666; /*2ème couleur de l'ombre*/ } .contenu { border: 1px solid #000; /*bordure de l'image*/ }
En action cela donne :
D'autre exemples et méthodes ici :
http://www.alistapart.com/articles/cssdropshadows/
et la :
http://www.phoenity.com/newtedge/drop_shadow/
Discussion