Korrektsete taandega plokk CSS-is
Teeme ploki, mis töötab ilma probleemideta marginitega taandetega. Oletame, et meil on algselt plokk ilma taandeteta:
<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;
}
:
Teeme horisontaalsed taanded elementide vahele
kasutades margin.
Et seda teha, anname kõigile lastelementidele
margin-right väärtuseks 10px,
ja iga kolmandale lapsele nullime selle margin.
Kasutame selleks pseudoklassi nth-child,
andes sellele parameetri nii, et saame
iga kolmanda elemendi.
Suurendame ka vanema laiust 320px-ni,
et anda ruumi taandete jaoks, ja vaatame,
mida me saame:
<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;
}
:
Niisiis, kõik töötab. Eemaldame viimase elemendi, et viimases reas oleks vähem elemente ja veendume, et meil ei teki selle viimase reaga probleeme:
<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;
}
:
Tehke plokk kahe elemendiga reas, kus
elementide vahe on 20px.