2017-09-01 1 views
0

Ich möchte meine ungeordnete Liste wie diese gestalten, unter
Link to what i want to achive
Meine Struktur wie folgt aussieht:Flexbox css ungeordnete Liste individuelle Styling

<div class="tabs"> 
<ul class="tabs__labels"> 
    <li class="0"> 
    <a class="active" href="#"> 
    <img/> 
    <div>something</div> 
    </a> 
    </li> 
    <li class="1"> 
    <a class="" href="#"> 
    <img/> 
    <div>something1</div> 
    </a> 
    </li> 
    ... 
</ul> 
</div> 

Ist es eine gute Idee, die Liste Klassen wie 0 zu nennen , 1 usw. und style sie separat, um diesen Effekt irgendwie zu erreichen? Wie benutzt man flexbox um einen ähnlichen Effekt zu bekommen? Sollte ich sie in Reihen gruppieren?

+0

Das sieht wie ein Job für [CSS Grids.] (Https://css-tricks.com/snippets/css/complete-guide-grid/) – Blazemonger

+0

, dass das Werkzeug, das ich erforderlich! :) Vielen Dank! – PokerCloud

Antwort

0

Wäre das ein Anfang?

.tabs__labels { 
 
    display: flex; 
 
    flex-wrap: wrap; 
 
    justify-content: space-between; 
 
    list-style: none; 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 
.tabs__labels li { 
 
    flex-basis: 45%; 
 
    margin: 20px 0; 
 
    padding: 0; 
 
} 
 

 
.tabs__labels li:nth-child(odd) { 
 
    display: flex; 
 
    justify-content: flex-end; 
 
} 
 
.tabs__labels li:nth-child(even) { 
 
    display: flex; 
 
} 
 

 
.tabs__labels li:nth-child(3), 
 
.tabs__labels li:nth-child(4) { 
 
    flex-basis: 35%; 
 
} 
 

 
.tabs__labels li a { 
 
    display: flex; 
 
    justify-content: center; 
 
    align-items: center; 
 
    height: 40px; 
 
    width: 40px; 
 
    border-radius: 50%; 
 
    border: 1px solid red; 
 
    text-decoration: none; 
 
} 
 

 
.tabs__labels li:nth-child(1)::before { 
 
    content: 'some text'; 
 
    text-decoration: underline; 
 
    margin-right: 10px; 
 
} 
 

 
.tabs__labels li:nth-child(2)::after { 
 
    content: 'some text'; 
 
    text-decoration: underline; 
 
    margin-left: 10px; 
 
}
<div class="tabs"> 
 
<ul class="tabs__labels"> 
 
    <li> 
 
    <a class="active" href="#">S 
 
    </a> 
 
    </li> 
 
    <li> 
 
    <a class="" href="#">S 
 
    </a> 
 
    </li> 
 
    <li> 
 
    <a class="" href="#">S 
 
    </a> 
 
    </li> 
 
    <li> 
 
    <a class="" href="#">S 
 
    </a> 
 
    </li> 
 
    <li> 
 
    <a class="" href="#">S 
 
    </a> 
 
    </li> 
 
    <li> 
 
    <a class="" href="#">S 
 
    </a> 
 
    </li> 
 
</ul> 
 
</div>

+0

Das war die Basis, die ich brauchte! :) Danke so viel :) Bin nicht Blazemonger richtig gewesen, dass das Raster hier besser wäre? – PokerCloud

+0

@PokerCloud Als Sie nach Flexbox gefragt haben, haben Sie eins :) ... es gibt oft mehr als eine Möglichkeit, Dinge zu tun, und da wir die meiste Zeit nur einen Bruchteil des Endergebnisses sehen, ist es schwierig für uns sag, was besser ist (und Blazemonger hat nicht gesagt _besser_). Ab heute bietet Flexbox bessere Browser-Unterstützung, aber wenn das kein Problem ist, sollten Sie CSS Grid verwenden. – LGSon