Je me suis battu avec un problème d'index z sur un projet et une chose que j'ai remarquée est que les navigateurs modernes vont déclencher un comportement d'index z sur les éléments qui flottent, ainsi que sur les éléments avoir une position: relative ou absolue. Cela semble contredire les spécifications du W3C qui stipule:z-index déclenché pour les éléments flottants
:
est ici un test "applique aux éléments de la 'position' propriété de type 'absolu' ou 'relative'.":
CSS:
#tabContent{
border:1px solid #ccc;
padding:15px;
margin-top:-1px;
margin-bottom: 1.5em;
background: #fff;
}
p.tabHolder {
overflow: hidden;
height: 1%;
margin: 14px 0 0px 0;
}
p.tabHolder a {
display: block;
margin:0 2px 0 0;
padding: 6px 11px;
float: left;
background: #eee;
border:1px solid #bbb;
}
p.tabHolder a.active {
background-color: #fff;
border-bottom-width:0px;
color:#333;
padding-top: 7px;
z-index: 100;
}
HTML:
<p class="tabHolder">
<a class="active" href="#">Foo</a>
<a href="#">Bar</a>
</p>
<div id="tabContent">
<p>Lorem ipsum</p>
</div>
Si vous chargez cela dans IE8 et basculez le bouton d'affichage de compatibilité, vous verrez que dans IE8, l'index z fonctionne, mais pas dans IE-7.
Quelqu'un peut-il expliquer cela?
Absolument. Je suis juste surpris que IE8, Chrome et Firefox semblent tous contredire les spécifications. – benb