Pločica sa ispravnim odstupima u CSS
Hajde da napravimo pločicu sa odstupima na marginima koja zaista funkcioniše bez problema. Recimo da u početku imamo takvu pločicu bez odstupanja:
<div class="parent">
<div class="child">1</div>
<div class="child">2</div>
<div class="child">3</div>
<div class="child">4</div>
<div class="child">5</div>
<div class="child">6</div>
<div class="child">7</div>
<div class="child">8</div>
<div class="child">9</div>
</div>
.parent {
display: flex;
flex-wrap: wrap;
width: 300px;
border: 1px solid red;
}
.child {
box-sizing: border-box;
width: 100px;
height: 100px;
border: 1px solid green;
}
:
Hajde da napravimo horizontalne odstupanja između
elemenata pomoću margin.
Da bismo to uradili, postavimo
margin-right za sve podređene elemente
na vrednost 10px,
a svakom trećem podređenom elementu postavimo ovaj margin na nulu.
Koristimo pseudo-klasu nth-child,
zadajući joj parametar tako da dobijemo
svaki treći element.
Povećaćemo takođe širinu roditelja na 320px,
kako bismo napravili prostor za odstupanja, i videćemo
šta smo dobili:
<div class="parent">
<div class="child">1</div>
<div class="child">2</div>
<div class="child">3</div>
<div class="child">4</div>
<div class="child">5</div>
<div class="child">6</div>
<div class="child">7</div>
<div class="child">8</div>
<div class="child">9</div>
</div>
.parent {
display: flex;
flex-wrap: wrap;
width: 320px;
border: 1px solid red;
}
.child {
box-sizing: border-box;
width: 100px;
height: 100px;
margin-right: 10px;
border: 1px solid green;
}
.child:nth-child(3n) {
margin-right: 0;
}
:
Dakle, sve funkcioniše. Hajde da uklonimo poslednji element, kako bi u poslednjem redu bilo manje elemenata i uverimo se da pri tome nećemo imati problema sa tim poslednjim redom:
<div class="parent">
<div class="child">1</div>
<div class="child">2</div>
<div class="child">3</div>
<div class="child">4</div>
<div class="child">5</div>
<div class="child">6</div>
<div class="child">7</div>
<div class="child">8</div>
</div>
.parent {
display: flex;
flex-wrap: wrap;
width: 320px;
border: 1px solid red;
}
.child {
box-sizing: border-box;
width: 100px;
height: 100px;
margin-right: 10px;
border: 1px solid green;
}
.child:nth-child(3n) {
margin-right: 0;
}
:
Napravite pločicu sa po dva elementa u redu sa
rastojanjem između elemenata od 20px.