28173 sujets

CSS et mise en forme, CSS3

Bonjour à tous!

Je suis en train de developper une phototheque, donc j'utilise pas mal d'images. Afin que le rendu soit un peu plus esthetique, je mets un léger cadre sur mes photos à l'aide d'une feuille de style, dont voici le code :


a:link img { 
    border: 1px solid black;
}


J'utilise a:link, car toutes mes images qui doivent avoir ce cadre sont des liens.

Pour ca, pas de souci. Le probleme vient du fait que j'ai des autres images, qui sont egalement des liens permettant de passer d'une page a l'autre, mais que je ne veux pas voir encadrées, donc j'ai pensé mettre ceci dans ma css :


.icone {
    border: none;
}


Mais je ne comprends pas car ces dernieres images apparaissent des fois encadrées, des fois non. Je n'y comprends rien...

Quelqu'un pourrait-il m'aider? (d'où vient le probleme, ou me donner une aure maniere de faire ce que je veux).

Merci d'avance.

Hasen
Modifié par hasen (15 Sep 2006 - 11:55)
Je ne peut pas tester, mais essaie simplement:


img {border: none}
a img {border: black solid 1px;}



Ca ne devrait jamais te mettre de cadre sauf pour les images qui sont des liens.
Modifié par Vikchill (15 Sep 2006 - 11:39)
Oui, mais le probleme est que toutes mes images sont des liens!
Donc j'ai créé une classe .icone afin de supprimer pour ces elements la bordure.

Mais j'ai réolu le probleme. En fait, lorsqu'un element etait une image lien et etait de class icone, le navigateur ne savait quel propriété choisir. Donc pour résoudre ca, il faut ajouter "!important" pour definir qui a la priorité sur qui.

Cela donne donc :


.icone {
	border: none !important;
}


Merci quand meme d'avoir pris 5 minutes pour essayer de m'aider Smiley smile
J'avais mal lu, au temps pour moi. Ta solution fonctionne, mais personnelllement j'aime pas ce genre de code, je crois que ça dénote une mauvaise conception de la cascade.

Je te propose donc ça:


img {border: none;}
.img_lien {border: black solid 1x;}
Salut,
Pourquoi ça dénoterai d'une mauvaise utilisation de la cascade??
Au contraire, il vaut mieux affecter un comportement qui est général à tous le document de cette façon, que d'ajouter une classe sur tous éléments, non?

EDIT: @vikchill: autant pour moi, je viens de relire le début du topic et viens de me rendre compte que ta solution est effectivement la plus logique...Mea Culpa
Modifié par coccimaster (15 Sep 2006 - 12:09)
Oui, c'est peut-être une mauvaise vision de ma part, mais je pense que si on doit mettre un ! important, c'est que quelque chose ne va pas.

Ca reste un avis personnel, mais je pense que si on doit en passer par là c'est qu'on a raté quelque chose.
Vikshill => ta solution ne peux pas marcher. En fait j'ai du mal m'exprimer, mais pour faire plus clair, j'ai plusieurs images qui sont en meme temps des liens, et je veux que certaines soient encadrées et d'autres non. C'est pour cela que j'avais créé une class, mais apparement, le navigateur avait du mal avec ca...

Je suis d'accord avec toi sur le principe qu'il vaut mieux ne pas utiliser de "!important", mais la je ne vois pas comment faire autrement.
hasen a écrit :
Vikshill => ta solution ne peux pas marcher. En fait j'ai du mal m'exprimer, mais pour faire plus clair, j'ai plusieurs images qui sont en meme temps des liens, et je veux que certaines soient encadrées et d'autres non. C'est pour cela que j'avais créé une class, mais apparement, le navigateur avait du mal avec ca...


Et ben? Pour les images que tu veux encadrer tu as la classe img_lien, les autres sont initialisés sans cadre non?