avec des étiquettes de table/table-cell:Menu horizontal - largeur de menu de li ai horizontal que j'ai de la ul enfant
<!doctype html>
<html>
<body>
<div style="width: 960px">
<ul class="menu">
<li><span>Selected Menu Item</span></li>
<li><a href="#item">Another Item</a></li>
<li><a href="#item">Another Item</a></li>
<li><a href="#item">Another Item</a></li>
</ul>
</div>
</body>
</html>
Cela fonctionne très bien, mais je dois aussi sous-menus comme
<ul class="menu">
<li><span>Selected Menu Item</span></li>
<li><a href="#item">Another Item</a>
<ul class="submenu">
<li><a href="#sub">Submenu Item</a></li>
<li><a href="#sub">Submenu Item</a></li>
</ul>
</li>
</ul>
maintenant, normalement je voudrais juste faire position: relative
et le second niveau ul position: absolute
de premier niveau li et lui donner la même taille que j'ai donné les éléments li; mais dans ce cas, je n'ai pas fixé avec le Li, alors j'ai essayé ceci:
.menu li {
position: relative;
}
ul.submenu {
position: absolute;
width: 100%;
}
Mais ce n'est pas - comme je l'attendrais - étendre à la largeur de 100% de son parent (li), mais plutôt gagner la largeur de l'élément spécifié le plus proche (dans ce cas, la div avec largeur 960px je pense, mais il pourrait aussi être plus grand).
Ma question est: Est-il possible d'élargir le second niveau ul-élément à la largeur de son parent, le li style table-cell sans tomber JavaScript? Je suis conscient du fait que je devrais écrire un script pour les navigateurs désactivés, comme IE < = 7. Voici un exemple en cours d'exécution: http://jsfiddle.net/hy73d/
Edit # 1: Il a été porté à mon attention, que cela fonctionne réellement dans WebKit navigateurs et l'opéra; donc la vraie question serait, y at-il une solution pour gecko?
Ce problème ne s'applique que dans Firefox. Chrome l'affiche comme vous le souhaitez (probablement). – YMMD