CSS
Inline-blokindeling
Zoeken…
Gerechtvaardigde navigatiebalk
De horizontaal gerechtvaardigde navigatiebalk (menu) bevat een aantal items die moeten worden gerechtvaardigd. Het eerste (linker) artikel heeft geen linkermarge in de container, het laatste (rechter) artikel heeft geen rechtermarge in de container. De afstand tussen items is gelijk, onafhankelijk van de individuele itembreedte.
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;
}
Notes
- De
nav
,ul
enli
tags werden gekozen vanwege hun semantische betekenis van 'een lijst met navigatie (menu) items'. Natuurlijk kunnen ook andere tags worden gebruikt. - Het
:after
pseudo-element veroorzaakt een extra 'lijn' in deul
en dus een extra, lege hoogte van dit blok, waardoor andere inhoud naar beneden wordt geduwd. Dit wordt opgelost door de negatievemargin-bottom
, die dezelfde grootte moet hebben als deline-height
(maar negatief). - Als de pagina te smal wordt voor alle items om te passen, worden de items afgebroken naar een nieuwe regel (vanaf rechts) en worden ze op deze regel gerechtvaardigd. De totale hoogte van het menu zal naar behoefte toenemen.
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow