Bonjour,
Pour une barre de navigation avec onglet, j'ai appliqué les "portes coulissantes" non pas à une liste mais à des liens contenant l'élément <span>.
Tout allez bien dans le meilleur des monde jusqu'au moment où j'ai jetté un oeil au rendu sous IE6 pc.
Là, j'ai vu que sous IE le padding d'un élément pousse le padding de son élément parent. Tandis que visiblement, sous FF, le padding d'un enfant n'influe pas sur le padding de son parent.
Avant de me lancer dans l'aventure des hack pour IE, ou de finalement utiliser une liste non ordonnée, je viens vous demander de l'aide pour mieux comprendre ce comportement (il y a forcement quelque chose qui m'échappe).
Voici le code XHTML :
et le CSS :
Ce que je comprend, c'est que la balisse <a> déborde en haut et en bas car le padding de <span> vient s'ajouter au sien. Bien sure suprimer tout padding est possible, mais visuellement ça ne passe pas, donc je m'acharne ^^.
J'ai donc pensé à faire la déclaration CSS calibrée pour IE puis, en utilisant le hack de Celik Tantek qui bluf IE, donner des valeurs qui collent bien sous les autres navigateurs.
Il doit forcement y avoir d'autres alternatives, pouvez vous m'éclairer s'il vous plait?
Modifié par Hermes (27 Jun 2006 - 11:05)
Pour une barre de navigation avec onglet, j'ai appliqué les "portes coulissantes" non pas à une liste mais à des liens contenant l'élément <span>.
Tout allez bien dans le meilleur des monde jusqu'au moment où j'ai jetté un oeil au rendu sous IE6 pc.
Là, j'ai vu que sous IE le padding d'un élément pousse le padding de son élément parent. Tandis que visiblement, sous FF, le padding d'un enfant n'influe pas sur le padding de son parent.
Avant de me lancer dans l'aventure des hack pour IE, ou de finalement utiliser une liste non ordonnée, je viens vous demander de l'aide pour mieux comprendre ce comportement (il y a forcement quelque chose qui m'échappe).
Voici le code XHTML :
<div id="menu">
<a id="curent"><span>Moteurs</span></a>
<a href="#"><span>Remorques</span></a>
</div>
et le CSS :
#menu
{border-bottom:1px solid #069;
padding:0 0 2px 5px}
[#red]#menu a
{background:url("../images/1pt.gif") no-repeat left top;
margin-left:5px; padding:3px 0 2px 9px;
text-decoration:none; color:#fff; font-weight:bold;}
#menu a span
{background:url("../images/1gd.gif") no-repeat right top;
padding:3px 9px 2px 0; } [/#]
#menu a#curent
{background-image:url("../images/2pt.gif") ;
color:#069;
padding-bottom:3px;}
#menu a#curent span
{background-image:url("../images/2gd.gif") ;
padding-bottom:3px;}
Ce que je comprend, c'est que la balisse <a> déborde en haut et en bas car le padding de <span> vient s'ajouter au sien. Bien sure suprimer tout padding est possible, mais visuellement ça ne passe pas, donc je m'acharne ^^.
J'ai donc pensé à faire la déclaration CSS calibrée pour IE puis, en utilisant le hack de Celik Tantek qui bluf IE, donner des valeurs qui collent bien sous les autres navigateurs.
Il doit forcement y avoir d'autres alternatives, pouvez vous m'éclairer s'il vous plait?
Modifié par Hermes (27 Jun 2006 - 11:05)