Um this layout of a fully justified menu list zu erreichen, kann ich keine CSS-Pseudoklassen verwenden, um Trennzeichen zwischen Listenelementen anzuzeigen. Stattdessen muss ich das Trennzeichen direkt in den HTML-Code einfügen. Da according to HTML5 standard in einem <ul>
nur <li>
und skriptunterstützende Elemente erlaubt sind, habe ich den folgenden Code gemacht. Es ist HTML5 gültig, aber es scheint mir eigenartig. Irgendwelche Bedenken? Dies wird die gleiche Wirkung habenSemantisch korrekte Trennzeichen in der Liste (direkt im HTML-Format, nicht CSS-generiert)
ul {
list-style: none;
padding: 0;
margin: 0;
display: flex;
justify-content: space-between;
}
li.home {
padding: 0;
}
li,
script::after {
vertical-align: middle;
padding-top: 10px;
}
nav {
border-bottom: 1px solid black;
border-top: 1px solid black;
height: 40px;
}
script.separator {
display: block;
}
script.separator::after {
content: "*";
}
<nav id="main-menu">
<ul>
<li class="home">
<a href="/de"><img src="http://dummyimage.com/40x40/000/fff"></a>
</li>
<script class="separator"></script>
<li class="second"><a href="#">Item 1</a></li>
<script class="separator"></script>
<li><a href="#">Item 2</a></li>
<script class="separator"></script>
<li><a href="#">One more Item</a></li>
<script class="separator"></script>
<li><a href="#">Another Item</a></li>
<script class="separator"></script>
<li class="last"><a href="#">Contact</a></li>
</ul>
</nav>
Diese Frage eher eine Diskussion aufruft. Hast du eine genaue Frage? – Utkanos
Ich muss zugeben, dass es verschwommen ist. In der unteren Zeile würde ich gerne wissen, wie man Trennzeichen zwischen den Listenelementen platziert - ich habe eine Lösung gefunden, aber es ist hässlich. – Madamadam
Das klingt wie ein XY-Problem (d. H. Sie haben das Problem X, und wenn Sie versuchen, es zu lösen, stoßen Sie auf das Problem Y, und dann kommen Sie und fragen nach Y). Soweit ich sehen kann, ist das ursprüngliche Problem: Sie können keine Pseudoelemente verwenden. Warum nicht? Das ist hier die Frage. Das sollten wir lösen! –