2010-10-03 8 views
4

J'ai recherché et trouvé aucune solution pour espacer une série de lis pour un menu de style de liste. J'ai réalisé que CSS seul ne pouvait pas le faire alors j'ai ajouté du javascript (jQuery). Je ne voulais pas les mêmes largeurs pour chaque LI, je voulais même un rembourrage sans espace restant. Si quelqu'un peut prendre ce concept et simplifier mon javascript affreux ou offre des alternatives s'il vous plaît le faire. Voir par exemple ici: http://www.valweb.com/menuTest/Menu de liste horizontale à espacement régulier et justifié

+0

Vous obtiendrez probablement des réponses plus utiles si vous posez cette question sur http://doctype.com –

Répondre

1

Comme CSS seul peut le faire, mais ne peuvent pas vieux IEs, pourquoi ne pas utiliser display: table; (and table-cell) par défaut (votre 2ème exemple est tout simplement génial) et utiliser display: inline; zoom: 1; /* display: inline-block for IE */ padding: 0 Npx; pour IE 8 < avec l'aide des commentaires conditionnels ?
Et peut-être JS/jQuery si vous devez vraiment se soucier des utilisateurs IE6/7, seulement servi à eux.

PS: vous devez ajouter une règle pour : concentrer

.mainMenu li a:hover, 
.mainMenu li a:focus { 
    /* ... */ 
} 

comme E. Meyer states in the comments of its reset.css stylesheet: ;-)

/* remember to define focus styles! */ 
:focus { 
    outline: 0; 
} 
+0

Merci Felipe. Je me suis tellement habitué à remettre à zéro tout ce que je n'avais pas lu ses commentaires depuis un moment. J'ai inclus des tables de CSS comme un exemple que je n'étais pas content. Cependant, j'ai trouvé mon problème résolu ici http://stackoverflow.com/questions/1859243/css-fixed-with-horizontal-menu-with-variable-width-tabs-using-ul il y a presque un an. Tout à fait semblable au mien. – TPAV