Page 1 sur 1

Sélecteurs adjacents non reconnus par IE ?

Publié : 29 févr. 2004, 12:27
par SX1
Bonjour,

Sur mon site tous les h1 s'affichent avec une boule bleue devant, sauf si ils sont précédés d'une image.

En CSS j'ai donc une class pour h1 avec

Code : Tout sélectionner

h1 {
display: list-item;
	list-style-image:url("img/bluball.png");
	list-style-position: inside; }
pour la boule bleue

puis j'ai l'exclusion avec

Code : Tout sélectionner

.imgstandard4 + h1 {
	display: block;
	list-style-image: none; }
Sous moz 1.6 pas de pb, mais MSIE 6 m'affiche toujours la boule bleue même avec l'image devant . MSIE 6 à un soucis, ou c'est moi qui loupe un truc ?

Publié : 29 févr. 2004, 12:44
par phoenix
ça serait pas la notation avec le "+" qui poserait probléme as tu essayé comme ça :

Code : Tout sélectionner

.imgstandard4 h1 
Perso ça fait pas longtemps que je me suis plongé dans les feuilles de style mais je n'ai jamaisvu cette notation.

Publié : 29 févr. 2004, 14:48
par bobo
phoenix a écrit :Perso ça fait pas longtemps que je me suis plongé dans les feuilles de style mais je n'ai jamais vu cette notation.
Le + est le sélecteur adjacent direct, il permet de sélectionner un élément qui suit immédiatement un autre. Mais IE ne supporte pas cette notation.

Publié : 29 févr. 2004, 19:04
par SX1
:( Il y a-t-il une solution à la place de "+" alors ???

J'ai tout essayé

Code : Tout sélectionner

  genre ">" ou  "espace vide"  ou  "*" 
Ya rien qui marche dans mon cas (simple je crois) sous IE.

Quant-est-ce que les PC seront vendus avec Mozilla obligatoirement ?[/code]

Publié : 29 févr. 2004, 19:57
par calimo
tu as essayé h1 .imgstandard4 (dans l'autre sens) ? Je l'utilise pas mal.

Publié : 01 mars 2004, 00:41
par SX1
J'essaye à l'instant : gag !
La prévisu de topstylelite me donne un retour logique (pas de boule bleue)
mais ni IE ni Moz ne reconnaissent l'astuce : boule bleue devant h1 partout.
Mais là il doit y avoir un truc pourri dans mon html, je chercherai.
Merci.

Publié : 01 mars 2004, 01:17
par Benoit
Je me demande si tu ne dois pas utiliser !important pour écraser la règle que tu as définie préalablement sur h1.

Publié : 01 mars 2004, 08:12
par calimo
Je viens de tester ça à l'instant.
Impossible de faire marcher le "+" avec FB :shock: (ni ie évidemment !)
Par contre h1.imgstandard4 (sans l'espace :oops: ) marche très bien (tu as bien <h1 class="imgstandard4">, le style ne porte pas sur l'image non ?)

Il faut bien sûr que h1.imgstandard4 soit défini après h1...

Publié : 01 mars 2004, 15:57
par bobo
calimo a écrit :Je viens de tester ça à l'instant.
Impossible de faire marcher le "+" avec FB :shock: (ni ie évidemment !)
Par contre h1.imgstandard4 (sans l'espace :oops: ) marche très bien (tu as bien <h1 class="imgstandard4">, le style ne porte pas sur l'image non ?)

Il faut bien sûr que h1.imgstandard4 soit défini après h1...
Ah mon avis, c'est plutôt quelque chose du genre :

Code : Tout sélectionner

<img class="imgstandard4" src="boule_bleue"><h1>Mon titre</h1>
auquel cas le '+' devrais bien marcher (avec Mozilla & Cie)

Publié : 02 mars 2004, 19:14
par SX1
Heu, j'ai du mal m'exprimer car c'est :

1 style par défaut pout tout h1 (avec boule bleue)

mais si h1 suit immédiatement imgstandard4 alors pas de boule bleue.

d'ou l'idée de départ imgstandard4 + h1 = h1' sans boule bleue, qui ne marche pas sous IE.

Je n'ai jamais utilisé !important, je teste ce soir et je reviens.

Merci à tous.

Publié : 02 mars 2004, 21:48
par bobo
SX1 a écrit :Heu, j'ai du mal m'exprimer car c'est :
J'avais bien compris ce que tu voulais faire, et ta solution est bonne pour les navigateurs supportants le sélecteur +. Pour IE, malheureusement, tu ne pourras pas t'en sortir sans modifier le HTML (ou alors il y a une technique de sioux que j'ignore). Il te faudra ajouter une classe aux <h1> précédés d'un imgstandard4

Publié : 02 mars 2004, 21:51
par phoenix
Il me semble que j'ai fait un truc du même genre mais c'etait un id et pas une class ceci dit je ne garanti rien je débarque dans l'utilisation des css

Publié : 04 mars 2004, 19:06
par Benoit
Quelqu'un est en train de s'amuser à écrire une interface de compatibilité IE/CSS2 qu'il suffit d'inclure dans sa feuille de style pour pouvoir bénéficier de ce genre de sélecteurs :

http://dean.edwards.name/IE7/