Bonjour,
Je débute en développement web et je découvre avec plaisir ce forum.
Je recherche un peu d'aide à propos d'un souci avec des z-index sur IE.
Je souhaite réaliser une sorte de mise en page tabulaire par onglets.
J'ai donc des zones de texte pour chaque onglet ainsi qu'autant de zones de contenu que j'affiche ou masque suivant l'onglet choisi.
Voilà un screen de mon affichage actuel sous FF puis sous IE :
Mon souci se situe à la jointure de mes onglets et de mon contenu.
En effet, je souhaite masquer la bordure supérieure du contenu en superposant la bordure inférieure des onglets.
Comme on peut le voir sur la capture, cela fonctionne sous FF et j'obtiens l'effet escompté.
IE, lui semble ignorer mes z-index et affiche la bordure supérieure du contenu en continu.
Si je remonte la zone de contenu j'observe nettement que c'est elle qui superpose les onglets et non le contraire !!
IE est pourtant censé gérer les z-index alors je ne sais pas trop quoi faire n'ayant aucune expérience en développement web.
Je joins ici mon code HTML:
Mon code CSS:
Et mon code JS pour naviguer entre les onglets:
Merci d'avance
Modifié par Cho7 (22 Apr 2005 - 16:05)
Je débute en développement web et je découvre avec plaisir ce forum.
Je recherche un peu d'aide à propos d'un souci avec des z-index sur IE.
Je souhaite réaliser une sorte de mise en page tabulaire par onglets.
J'ai donc des zones de texte pour chaque onglet ainsi qu'autant de zones de contenu que j'affiche ou masque suivant l'onglet choisi.
Voilà un screen de mon affichage actuel sous FF puis sous IE :
Mon souci se situe à la jointure de mes onglets et de mon contenu.
En effet, je souhaite masquer la bordure supérieure du contenu en superposant la bordure inférieure des onglets.
Comme on peut le voir sur la capture, cela fonctionne sous FF et j'obtiens l'effet escompté.
IE, lui semble ignorer mes z-index et affiche la bordure supérieure du contenu en continu.
Si je remonte la zone de contenu j'observe nettement que c'est elle qui superpose les onglets et non le contraire !!
IE est pourtant censé gérer les z-index alors je ne sais pas trop quoi faire n'ayant aucune expérience en développement web.
Je joins ici mon code HTML:
<div id="infosprojet">
<div id="onglets">
<span id="onglet1" class="ongletactif" onClick="switchOnglet(2, 1);">Propriétés</span>
<span id="onglet2" class="ongletpassif" onClick="switchOnglet(2, 2);">Client</span>
</div>
<div id="contenu1" class="contenu"> <!-- Propriétés -->
<span style="position:relative; left:12%;">Nom : </span>
<span style="position:relative; left:25%;">Statut : </span>
<br /><br /><hr /><br />
(...)
</div>
<div id="contenu2" class="contenu" style="display:none;"> <!-- Client -->
(...)
</div>
</div>
Mon code CSS:
/* --- Onglets --- */
.ongletactif, .ongletpassif {
font-family:Arial;
font-weight:bold; font-size:10pt;
text-align:center;
border-width:1px; border-style:solid;
width:90px;
cursor:pointer; cursor:hand;
padding-top:5px; padding-bottom:2px;
float: left;
z-index:2;
}
.ongletactif {
color:#CC0000; background-color:#EBF5FA;
border-top-color:#000000; border-right-color:#000000; border-left-color:#000000; border-bottom-color:#EBF5FA;
height:20px;
}
.ongletpassif {
color:#4A4A4A; background-color:#EBEBEB;
border-top-color:#4A4A4A; border-right-color:#4A4A4A; border-left-color:#4A4A4A; border-bottom-color:#000000;
height:18px;
margin-top:2px;
}
.contenu {
background-color:#F8F8F8;
padding:10px;
float:left;
width:90%;
margin-top:-1px;
border-width:1px;
border-style:solid;
border-color: #4A4A4A;
border-color:#000000;
z-index:1;
}
Et mon code JS pour naviguer entre les onglets:
/* Switch l'onglet et affiche le div correspondant */
function switchOnglet (nbonglets, ongletactif) {
if (!document.getElementById) return; // Pour les navigateurs qui ne supportent pas le DHTML
for(i=1;i<=nbonglets;i++) {
if (i==ongletactif) {
document.getElementById("onglet"+i).className = "ongletactif";
document.getElementById ("contenu"+i).style.display = "";
}
else {
document.getElementById("onglet"+i).className = "ongletpassif";
document.getElementById ("contenu"+i).style.display = "none";
}
}
}
Merci d'avance
Modifié par Cho7 (22 Apr 2005 - 16:05)