En résumé, voici mon problème. Je travaille sur un menu avec des boutons réactifs. Principe hyper classique.
Le but est que les boutons du menu changent lorsqu'on passe la souris dessus.
Pour faire cela, j'utilise un javascript qui change la classe de mes boutons (des Div) si on passe dessus. Cela fonctionne parfaitement sous Firefox, mais pour IE 6 et IE 7, cela ne fonctionne que si je n'utilise pas d'images d'arrière plan.
Je m'explique : si je change la couleur de mes div, tout va bien. Par contre, si je met des images en background, étonnamment, celle du onmouseover est ignorée.
Je montre mes codes :
1) Voici la solution qui fonctionne partout, y compris sous IE :
Si vous essayez ce code avec les propriétés mises en commentaire, et l'ouvrez avec IE, tout fonctionnera très bien, mais on ne change le background qu'avec des codes de couleur. Par contre, si vous remplacez les deux lignes CSS des bouton "on" et off par comme je l'ai fait, seule l'image du bouton "off" sera affichée :
Je suis vraiment dérouté par ce phénomène. Est-ce que quelqu'un aurait une explication . Le répertoire image est au mêne niveau que la page html, et à l'intérieur, on a deux images gifs toutes simples.
Modifié par Shimrhod (05 May 2008 - 16:43)
Le but est que les boutons du menu changent lorsqu'on passe la souris dessus.
Pour faire cela, j'utilise un javascript qui change la classe de mes boutons (des Div) si on passe dessus. Cela fonctionne parfaitement sous Firefox, mais pour IE 6 et IE 7, cela ne fonctionne que si je n'utilise pas d'images d'arrière plan.
Je m'explique : si je change la couleur de mes div, tout va bien. Par contre, si je met des images en background, étonnamment, celle du onmouseover est ignorée.
Je montre mes codes :
1) Voici la solution qui fonctionne partout, y compris sous IE :
Si vous essayez ce code avec les propriétés mises en commentaire, et l'ouvrez avec IE, tout fonctionnera très bien, mais on ne change le background qu'avec des codes de couleur. Par contre, si vous remplacez les deux lignes CSS des bouton "on" et off par comme je l'ai fait, seule l'image du bouton "off" sera affichée :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1" />
<title>Essai de style avec condition sur l'élement par défaut d'un select</title>
<style type="text/css">
body,html{
height:100%;
width:100%;
margin:0;
padding:0;
}
body {
background: #603202;
}
.conteneur {
background: #ffd085;
width: 80%;
height:100%;
min-height: 100%;
margin:auto;
margin-top:0;
}
#headMenu{
width:400px;
margin:auto;
}
#headMenu div{
width:100px;
float:left;
margin-left:5px;
text-align:center;
}
/* .headMenuItemOn{
background:blue;
}
.headMenuItemOff{
background:red;
}*/
.headMenuItemOff {
background:url("images/menu_btn.gif") no-repeat ;
}
.headMenuItemOn {
background:url("images/menu_btn_over.gif")no-repeat ;
}
</style>
<script type="text/javascript">
function gomenu(url){
parent.location = url;
}
</script>
</head>
<body onLoad="">
<div class="conteneur">
<div id="headMenu">
<div class="headMenuItemOff" onclick="gomenu('page1.html');" onmouseout="this.className='headMenuItemOff'" onmouseover="this.className='headMenuItemOn'">
<span>Menu 1</span>
</div>
<div class="headMenuItemOff" onclick="gomenu('page2.html');" onmouseout="this.className='headMenuItemOff'" onmouseover="this.className='headMenuItemOn'">
<span>Menu 2</span>
</div>
<div class="headMenuItemOff" onclick="gomenu('page3.html');" onmouseout="this.className='headMenuItemOff'" onmouseover="this.className='headMenuItemOn'">
<span>Menu 3</span>
</div>
</div>
</div>
</div>
</body>
</html>
Je suis vraiment dérouté par ce phénomène. Est-ce que quelqu'un aurait une explication . Le répertoire image est au mêne niveau que la page html, et à l'intérieur, on a deux images gifs toutes simples.
Modifié par Shimrhod (05 May 2008 - 16:43)