CSS-те дұрыс шектеулері бар плитка

Шын мәнінде проблемаларсыз жұмыс істейтін марджиндар арқылы шектеулері бар плитка жасайық. Бізде бастапқыда шектеулері жоқ мынадай плитка бар болсын:

html<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>
css.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-ге дейін үлкейтіп, нәтижені көрейік:

html<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>
css.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;
}

Результат:

Сонымен, бәрі жұмыс істейді. Соңғы қатарда элементтер аз болуы үшін соңғы элементті алып тастап, соңғы қатарда бізде проблемалар болмайтынына көз жеттейік:

html<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>
css.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;
}

Результат:

Задание 1

Элементтер арасындағы қашықтығы 20px болатын, бір қатарда екі элементтен тұратын плитка жасаңыз.