Плочка со коректни маргини во CSS
Ајде да направиме вистинска плочка што работи без проблеми со маргини користејќи margin. Да претпоставиме дека првично имаме ваква плочка без маргини:
<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;
}
:
Ајде да направиме хоризонтални маргини помеѓу
елементите со помош на margin.
За да го направиме ова, да поставиме
margin-right за сите деца-елементи
на вредност 10px,
а на секое трето дете да го поставиме овој margin на нула.
Да го користиме псевдо-класата nth-child,
поставувајќи го параметарот така што ќе се селектира
секој трет елемент.
Да ја зголемиме и ширината на родителот на 320px,
за да направиме простор за маргините, и да видиме
што добиваме:
<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;
}
:
Значи, сè работи. Ајде да го отстраниме последниот елемент, за да има помалку елементи во последниот ред и да се увериме дека нема да имаме проблеми со последниот ред:
<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;
}
:
Направете плочка со два елементи во ред со
растојание помеѓу елементите од 20px.