CSS
Disposition en ligne intégrée
Recherche…
Barre de navigation justifiée
La barre de navigation (menu) justifiée horizontalement contient un certain nombre d'éléments à justifier. Le premier élément (à gauche) n'a pas de marge gauche dans le conteneur, le dernier élément (à droite) n'a pas de marge droite dans le conteneur. La distance entre les éléments est la même, indépendamment de la largeur de chaque élément.
HTML
<nav>
<ul>
<li>abc</li>
<li>abcdefghijkl</li>
<li>abcdef</li>
</ul>
</nav>
CSS
nav {
width: 100%;
line-height: 1.4em;
}
ul {
list-style: none;
display: block;
width: 100%;
margin: 0;
padding: 0;
text-align: justify;
margin-bottom: -1.4em;
}
ul:after {
content: "";
display: inline-block;
width: 100%;
}
li {
display: inline-block;
}
Remarques
- Les balises
nav,uletliont été choisies pour leur signification sémantique «une liste d'éléments de navigation (menu)». D'autres balises peuvent également être utilisées bien sûr. - Le pseudo-élément
:afterprovoque une "ligne" supplémentaire dans l'ulet donc une hauteur supplémentaire vide de ce bloc, poussant d'autres contenus vers le bas. Ceci est résolu par lamargin-bottomnégative enmargin-bottom, qui doit avoir la même amplitude que laline-heightlaline-height(mais négative). - Si la page devient trop étroite pour que tous les éléments soient ajustés, les articles se retrouveront sur une nouvelle ligne (en partant de la droite) et seront justifiés sur cette ligne. La hauteur totale du menu augmentera au besoin.
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow