html Navigationsleiste zentrieren?
Hi, wie kann ich machen, dass die Navigationsleiste, bzw. die Items, also die verschiedenen Tabellenreihen zentriert werden?
Code & Seite siehe Bilder
2 Antworten
Eine Tabelle für die Navigation zu verwenden, halte ich für keine gute Lösung. Die Navigationsitems stellen doch nicht wirklich typische tabellarischen Daten dar. Und für eine mobile Darstellung lassen sich die Zellen später nicht so einfach untereinander klappen (o.ä.).
Eine leichte Lösung konnte folgendermaßen aussehen:
HTML:
<nav class="top-navigation">
<ul>
<li><a href="#a">A</a></li>
<li><a href="#b">B</a></li>
<li><a href="#c">C</a></li>
</ul>
</nav>
CSS:
.top-navigation ul {
display: flex;
justify-content: center;
list-style-type: none;
}
.top-navigation li {
margin: 0 5px;
}
Das Navigationselement wird mit einem Klassenselektor versehen, welcher ein Flexlayout verwendet. So werden die einzelnen Listeneinträge horizontal nebeneinander positioniert. Mit justify-content werden sie in der Auflistung horizontal zentriert angeordnet.
Musst du das unbedingt mir altbackenem HTML machen? Lies dich unbedingt in Bootstrap ein, ist heute Standard und erleichtert die Arbeit extrem, besonders wenn es dann mal um Kompatibiltät mit Handies gehen soll:
https://getbootstrap.com/docs/4.0/components/navbar/
Ansonsten kannst du die Zellen auch nicht absolut sondern relativ darstellen, via:
<td width="x%"></td>
und bei x% trägst du dann die Breite ein die die Zellen in der NavLeiste einnehmen sollen.
Die Nutzung des width-Attributs wäre eine altbackene Lösung, denn das Attribut wurde schon für HTML 4 (also ungefähr 20 Jahren) als deprecated gekennzeichnet. Die bessere Lösung würde daher die Nutzung von CSS vorsehen.
Ob sich Bootstrap lohnt (denn nein, es ist nicht Standard), sollte an der Projektgröße bemessen werden.