Comment garder <li> des éléments sur une seule ligne en largeur fixe <ul>?
J'ai un en-tête div
et un menu ul
ci-dessous. J'aimerais faire 2 choses:
1) le ul
doit avoir la même largeur que la div
(extérieur des bordures verticales exactement la même position x
2) je tiens à garder l'espacement entre les li
éléments à peu près égale
Avec quelques essais et d'erreur sur la li
's les marges et padding j'ai à peu près atteint le premier point dans Google Chrome (voir ce jsfiddle) mais dans Firefox, la li
's ne rentrent pas dans le ul
afin de ne pas rester sur une seule ligne. Aussi, la dernière li
tend à débordement à une deuxième ligne lors d'un zoom in/out.
Je l'ai essayé avec margin:5px auto
et padding:5px auto
sur le li
éléments, mais ici auto
semble signifier zéro.
Est-ce vraiment difficile/impossible ou suis-je surplombant quelque chose d'évident?
J'ai aussi essayé width:fit-contents
mais cela n'a pas aide non plus.
Je ne vois pas la différence entre FF & CR dans les votre violon.. pouvez-vous poster une capture d'écran expliquant le désir de comportement?
OriginalL'auteur RubenGeert | 2013-08-22
Vous devez vous connecter pour publier un commentaire.
J'ai édité un tas dans votre CSS, vérifier la mise à jour de violon.
Fondamentalement, ce est ce que j'ai fait:
HTML:
CSS:
L'ul est présenté comme une table, avec la li de la table de cellules, ce qui en fait la largeur de l'en-tête. À l'intérieur de la batterie au lithium-je afficher les ancres comme un bloc, en faisant d'eux de remplir l'ensemble de la li. Espérons qu'il vous convient.
P. s. assurez-vous de supprimer la classe
cf
de laul
lorsque vous utilisez ce.Eh bien, ce qui rend les éléments loi comme un tableau, n'étant pas un tableau. Je n'ai pas l'esprit à l'aide de cette. Ça me dérange plus quand les gens essaient d'utiliser la liste ou divs pour afficher des données tabulaires. (hors-sujet)
Super! Qui semble faire l'affaire parfaitement bien!
OriginalL'auteur LinkinTED
Je pense que certains membres de la frustre peut trouver cela utile:
OriginalL'auteur Fable4Life
Comme ce
DÉMO
OriginalL'auteur Falguni Panchal
Vous aurez besoin d'ajuster le rembourrage en
ul#mmenu
j'ai changé le rembourrage pourpadding:7px 23px;
et il reste sur une seule ligne,mais il y a un espace vide à l'extrémité droite de la dernière menu.OriginalL'auteur Sharath Daniel
Vous pouvez donner la position absolue de li éléments et de leur position (d'abord à gauche:0, la deuxième: left:100px ou alors... dernière ont droit:0 et ainsi de suite). De cette manière, ils seront toujours au même endroit lorsque vous effectuez un zoom avant.
OriginalL'auteur Vladislav Stanic
Pour ceux qui veulent éviter CSS
table
ettable-cell
, qui, par la manière, je n'ai pas de problème avec vous pouvez utilisertext-align:justify
sur leUL
avec un couple de réglages.HTML de base:
Noter que nous avons perdu la clearfix, parce que: a) Nous n'allons pas utiliser des flotteurs et b), il s'affranchit de cette solution.
CSS:
J'ai également supprimé les
:first-child
style dans le Mis À Jour Le ViolonOriginalL'auteur Jon P