Souci de RollOver CSS avec IE8

Résolu/Fermé
Meili Messages postés 15 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 17 octobre 2012 - 26 mars 2011 à 11:18
theshadoo Messages postés 786 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 3 mai 2016 - 26 mars 2011 à 16:18
Bonjour,

Dans le cadre d'un petit site, j'ai intégré une <div> contenant elle-même une balise
<a href> avec un rollover css.

Sur FireFox je n'ai bien entendu aucun souci, mais par contre sous IE8, (et peut-être voire sûrement les précédents) je n'ai pas accès au lien.

Voici le bout de code concerné.

en html :
<div id="submenu"> 
	<a href="index.php" class="accueil" title="Accueil"></a>
</div>
<div style="clear: both;"></div>
<div id="page-header"></div>
<div id='wrap'>
    <div class='float-gauche01'>
     ......


et le CSS y relatif
#submenu { 
	background : url("../monimagede fond1.png") no-repeat 0% 0%; 
	width : 149px; 
	height : 114px; 
	float : left; 
	margin-top : 0; 
	padding-left : 10px;
	}

* html #submenu { 
	background : url("../monimagedefond2.gif") no-repeat;
	}
	
*#submenu a { 
	margin-top : 45px; 
	float : left; 
	}

#page-header { 
	background : url("../monimage3.png") no-repeat; 
	padding : 0 20px; 
	min-height : 200px; 
	min-width : 950px; 
	width : 950px; 
	margin: -100px auto;
	}

a { 
	outline: none;
	background : no-repeat;
	display : block;
	overflow : hidden;
	}

a.accueil { 
	background : url("../mon imagedelien.gif") 0% -35px;
	margin-left: 10px; 
	width : 108px; 
	height : 35px; 
	}

a.accueil:hover { 
	background-position : 0% 1px; 
	}


D'après les validateurs html et css, mon code ne possède pas d'erreur, mais je dois bien avoir fait quelque chose de faux pour que ce lien ne soit pas cliquable.

Merci d'avance si vous pouviez tenter de m'aider à trouver une solution.
A voir également:

4 réponses

theshadoo Messages postés 786 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 3 mai 2016 123
26 mars 2011 à 13:50
déjà dans les backgrounds où tu mets tout en pixel ou en % mais pas l'un des deux, ca n'est pas conventionnel et ca peut être problèmatique pour certain navigateur.

après, applique ton rollover sur la balise a et non pas la class de la balise a

sous les autres navigateur on peut appliquer le rollover sur différente type de balise alors que sous ie il ne le comprend que sur les balise de lien "a".

Je ne sais plus si sous IE8 c'est pareil car je fait la compatibilité en amont du coup je n'ai guère de problème pour les versions de IE.

j'ai testé chez moi cela fonctionne.
met un espace entre la balise <a></a> et de préférence ne pas la laissé vide mais rajouter un span ou autre et le cacher car ie peut mal interpréter les balise de lien sans rien à l'intérieur (du moins les anciennes version alors continuons dans cet optique).

Dans ta balise a tu mets un propriété no-repeat à ton background ta règle est annulé de toute façon mais il y a un conflit avec les autres règles css pour tes balises a.

donc celle ci ne sert strictement à rien d'ailleurs pourquoi tu là mets ?.
0
Meili Messages postés 15 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 17 octobre 2012
26 mars 2011 à 14:12
Merci pour ta réponse.

J'ai donc enlevé mes pourcentages et inséré des balises <span> avec un espace mais sans changement.

Par contre, je n'arrive pas à comprendre ce que tu entends par "appliquer mon rollover à la balise et non pas à la class".

Concernant le no-repeat à la balise a dans mon css, c'était pour toutes les autres balises qui viennent après dans ma page.

Je t'envoies en mp l'adresse de mon site si cela peut t'aider à te faire une idée plus concrète.

A la base, je me suis calquée sur le forum Phpbb3 et c'est au moment où j'ai voulu replacer le header plus haut que tout a "lâché". Pour moi c'était juste une question de positionnement de div, celle du <submenu> passant sous celle du <header-page>, mais les z-index ne semblent pas vouloir fonctionner.

Merci infiniment d'avoir prêté attention à mon souci.
0
Meili Messages postés 15 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 17 octobre 2012
26 mars 2011 à 15:29
Finalement, apparemment c'est corrigé. J'ai remplacé des "float" par des "absolute" et ça m'a l'air de faire l'affaire.

Merci encore pour avoir pris le temps de regarder mon problème.
0
theshadoo Messages postés 786 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 3 mai 2016 123
26 mars 2011 à 16:18
ok j'ai lu ton MP avant de lire ton message sur le forum.

donc oui effectivement si tu gères mal certaine balise de type inline en absolute dans internet explorer tu peux avoir un soucis de rollover. Donc les propriétés absolute avec ie sont à utilisé avec précaution car il faut veiller aux notions d'héritage de certaine balise générique qui peuvent créer un conflit.
0