28173 sujets

CSS et mise en forme, CSS3

Bonjour,

Pour que le soulignement des hyperliens de mon site soit pointillé, j'ai la règle:

a {background-image: url(dotted.gif); background-repeat: repeat-x; background-position: bottom; text-decoration: none;}


Dans mon site, j'ai des images enveloppées par des hyperliens, tq:

<a href="url.com"><img src="image.jpg" /></a>


Mais je ne veux pas que les images soient soulignées.

Dans ma feuille de style, je suis donc erronément tenté d'ècrire:

a img {background-image: none;}


Mais la propriété s'applique bien sûr à l'image et non à l'ancre.

L'image étant enfant de l'ancre, je ne sais pas comment faire pour que la propriété s'applique à l'ancre et non à l'image.

Une idée ?

Merci d'avance.
Modifié par ygirod (25 Nov 2006 - 09:56)
@ghost:

Oui, mais non. Smiley lol

J'aimerais en faire une règle destinée à tout le site, dans ma feuille de styles.

Pour résumer, la règle s'appliquerait à toutes les ancres enveloppant une image.
Modifié par ygirod (23 Nov 2006 - 02:55)
Salut,

Ce n'est pas possible. Je ne crois pas qu'il existe de sélecteur CSS permettant de "remonter dans l'arbre".

Le plus simple est d'appliquer une classe à tes liens qui englobent une image...

Mais si je me trompe, je serai moi aussi heureux de connaitre la solution.
Neovov a écrit :
Bonjour,

a img { background-image: none; }


Non ?
Visiblement, la question concerne le fait d'écraser un style mis sur l'élément "a".
Eldebaran a écrit :
Visiblement, la question concerne le fait d'écraser un style mis sur l'élément "a".


Exact. La règle doit s'appliquer aux ancres (a - parent) enveloppant les images (img - enfant).

Dur dur...
tu n'as pas le choix.
tu dois appliquer une classe spécifique à tes liens englobant une image.
Modérateur
Salut,

Si c'est pour supprimer le soulignement "normal" autour d'une image, faut mettre :
a img { border: 0; }
ou bien j'ai mal compris... Smiley langue
koala64 a écrit :
Si c'est pour supprimer le soulignement "normal" autour d'une image, faut mettre :
a img { border: 0; }
ou bien j'ai mal compris... Smiley langue


Bâ non. Ta règle s'applique à "img" et non à "a". Smiley cligne
@Eldebaran et @Zeke:

Vos réponses me confirment ce que je redoutais: c'est donc impossible. Smiley decu

Merci. Smiley cligne

Solution alternative

Attribuer une couleur d'arrière-plan adéquate aux "img", ce qui recouvre l'arrière-plan indésirable des "a" enveloppant les "img":

Ex.:

img {background-color: #CAE7BB;}

Modifié par ygirod (25 Nov 2006 - 10:20)
Modérateur
ygirod a écrit :
Bâ non. Ta règle s'applique à "img" et non à "a". cligne

Certes mais elle supprime l'encadrement généré par le lien... Bref, il semblerait que j'ai mal compris de quoi tu voulais parler... Smiley smile

Vu qu'il s'agit de l'arrière-plan, pour moi, tu fonctionnes à l'envers...
Il faut affecter l'arrière-plan via une classe (sur tous les liens ne comprenant pas une image) et non à l'ensemble des liens...
Modifié par koala64 (25 Nov 2006 - 13:00)