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.