CSSда тўғри чўзиқлар билан плиточка
Келинг, чиндан ҳам муаммосиз ишлайдиган марджинлардаги чўзиқлар билан плиточка ясаймиз. Бошлаш учун бизда чўзиқсиз бундай плиточка бор дейлик:
<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 сўзланувчи синфини қўллаймиз,
унда параметрни ҳар учинчи элементни олиш учун
берамиз.
Чўзиқлар учун жой берish учун ота-онанинг энини
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 бўлган плиточка ясангиз.