28172 sujets
CSS et mise en forme, CSS3
re
En fait ce probleme de sous liste imbriqué , qui ne se dimensionne pas comme on le souhaite n'est pas un nouveau probleme dans IE , que ça flotte ou pas , on ne peut corriger les comportement de IE .
En gros , tu voudrait recuperer la largeur de l'item le plus large , l'appliqué a ul puis le retransmettre au autre liste adjacente ou forcer le contexte de formatage pour obtenir un resultat similaire . Quelques soit l'approche les styles sont herité et pas l'inverse .
Pour avoir un truc qui passe(aussi dans IE et sans jonglage a coup d'attributs css ) il faut que l'element survoler ne soit pas le parent direct de l'element a afficher.
Si tu veut garder une liste imbriquée alors :
l'element a aficher/cacher en position:absolute; est le div , son contenu se style sans soucie et se contrefiche de savoir si le parent de son conteneur a une largeur determinée ou pas ! (le li), extrait du flux de la page via le div , lui se comporte entierement comme dans le flux et occupe l'espace dont il a besoin , devenu incapable de recuperer par defaut les largeurs des element parent au div en absolue.
La transposition en div du ul et des li parent semble du coup plus logique , lisible et réutilisable , ce n'est pas une obligation , juste une facilité d'approche de lecture du code. Le truc c'est de cassé le lien direct entre l'élément survolé et celui a afficher pour plaire a IE. Sans ça , on reste dans de la bidouille en tentant de faire plier un navigateur a un comportement qu'il ne peut avoir au risque de perturbé les autres.
GC
En fait ce probleme de sous liste imbriqué , qui ne se dimensionne pas comme on le souhaite n'est pas un nouveau probleme dans IE , que ça flotte ou pas , on ne peut corriger les comportement de IE .
En gros , tu voudrait recuperer la largeur de l'item le plus large , l'appliqué a ul puis le retransmettre au autre liste adjacente ou forcer le contexte de formatage pour obtenir un resultat similaire . Quelques soit l'approche les styles sont herité et pas l'inverse .
Pour avoir un truc qui passe(aussi dans IE et sans jonglage a coup d'attributs css ) il faut que l'element survoler ne soit pas le parent direct de l'element a afficher.
Si tu veut garder une liste imbriquée alors :
<ul>
<li>titrage groupe de lien
<div>
<ul><li> ....
</ul>
</div>
</li>
</ul>
l'element a aficher/cacher en position:absolute; est le div , son contenu se style sans soucie et se contrefiche de savoir si le parent de son conteneur a une largeur determinée ou pas ! (le li), extrait du flux de la page via le div , lui se comporte entierement comme dans le flux et occupe l'espace dont il a besoin , devenu incapable de recuperer par defaut les largeurs des element parent au div en absolue.
La transposition en div du ul et des li parent semble du coup plus logique , lisible et réutilisable , ce n'est pas une obligation , juste une facilité d'approche de lecture du code. Le truc c'est de cassé le lien direct entre l'élément survolé et celui a afficher pour plaire a IE. Sans ça , on reste dans de la bidouille en tentant de faire plier un navigateur a un comportement qu'il ne peut avoir au risque de perturbé les autres.
GC