28172 sujets

CSS et mise en forme, CSS3

Je m'arrache les cheveux avec IE8. La gestion du z-index est complètement incohérente. Sur Chrome, firefox et Safari quand je passe la souris sur les zones bloc1, bloc2, bloc3 et bloc4, je fais correctement réapparaître des éléments planqués (et positionnés en absolu). Sur IE8, les éléments réapparaissent, mais passent en dessous des zones bloc1, bloc2, bloc3 et bloc4. C'est à se taper la tête sur les murs...

Voilà le code :


<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Document sans nom</title><style type="text/css">

* {margin:0; padding:0}

#conteneur {
}

#conteneur ul li {
	background: #F33;
	float: left;
	height: 50px;
	width: 190px;
	margin-top: 10px;
	margin-right: 10px;
	list-style: none;
	position: relative;
	display: block;
}

#conteneur ul li table {
	display: none;
	position: absolute;
	left: 30px;
	top: 15px;
	background: #C96;


}

#conteneur ul li:hover table {
	display:block;
	z-index:1;
}

#conteneur ul li table tr {
	height:90px
}

</style>

</head>

<body>
<div id="conteneur">
<ul>
<li>bloc1
<table width="200" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>1000</td>
    <td>1000</td>
  </tr>
  <tr>
    <td>1000</td>
    <td>1000</td>
  </tr>
  <tr>
    <td>1000</td>
    <td>1000</td>
  </tr>
</table>
</li>

<li>bloc2
<table width="200" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>2000</td>
    <td>2000</td>
  </tr>
  <tr>
    <td>2000</td>
    <td>2000</td>
  </tr>
  <tr>
    <td>2000</td>
    <td>2000</td>
  </tr>
</table>
</li>

<li>bloc3
<table width="200" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>3000</td>
    <td>3000</td>
  </tr>
  <tr>
    <td>3000</td>
    <td>3000</td>
  </tr>
  <tr>
    <td>3000</td>
    <td>3000</td>
  </tr>
</table>
</li>

<li>bloc4
<table width="200" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>4000</td>
    <td>4000</td>
  </tr>
  <tr>
    <td>4000</td>
    <td>4000</td>
  </tr>
  <tr>
    <td>4000</td>
    <td>4000</td>
  </tr>
</table>
</li>
</ul>

</div>
</body>
</html>

Bonjour deladela,

Je viens de regarder ton code, et il n'y a aucun bug sous IE8.

Le bug donc tu parles se passe plutôt sous IE7. Bien sur, il ne faut plus te préoccuper de IE7 pour ton projet car il ne constitue que 1% des internautes.

Peux-tu me dire quelle version de IE tu as ?
Peux-tu montrer un imprime-écran de ton bug ?
Administrateur
Bonjour,

IE6 et IE7 sont très buggés (si problème avec éléments A et B, il faut trouver les éléments ancêtres de A et B respectivement C et D qui eux seraient frères) mais IE8 pas tant que ça (ah si sur :after et :before)

Une grosse source de bug, c'est l'environnement de test : IE7 as IE8 c'est pas fiable (du tout), IE Tester je vais m'énerver j'en parle pas, Standalone j'étais le dernier chez qui ça fonctionnait ... il y a 2 ans, bref. Soit tu as un IE natif, soit http://modern.ie soit une VM faite maison (il y a des articles sur le www. ici qui en parlent)

EDIT : les parts de marché d'IE7 ne sont pas les mêmes selon que 100% de tes visiteurs sont français voire francophones, américains ou dans le monde entier ou business avec le marché émergent... en Chine (argh).
Modifié par Felipe (23 Jul 2013 - 14:31)
Personnellement, j'avais testé avec "IE Tester". Et j'avais vu les bugs jusqu'à IE7.
Aucun bug sous IE8.

Ensuite faut voir avec ce que tu faire avec ton site. Si la clientèle utilise encore IE6 et IE7, il ne faut pas faire des choses énormes avec le CSS.