Papan Ubin dengan Spasi yang Benar di CSS

Mari kita buat papan ubin dengan spasi menggunakan margin yang benar-benar berfungsi tanpa masalah. Misalkan awalnya kita memiliki papan ubin tanpa spasi seperti ini:

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;
}

Результат:

Mari buat spasi horizontal antara elemen menggunakan margin.

Untuk melakukan ini, atur untuk semua elemen anak margin-right ke nilai 10px, dan untuk setiap anak ketiga, nolkan margin ini. Gunakan pseudo-class nth-child untuk ini, dengan mengatur parameternya sehingga mendapatkan setiap elemen ketiga.

Kita juga akan menambah lebar parent menjadi 320px, untuk memberikan ruang bagi spasi, dan lihat apa yang kita dapatkan:

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;
}

Результат:

Jadi, semuanya berfungsi. Mari kita hapus elemen terakhir sehingga di baris terakhir ada lebih sedikit elemen dan pastikan bahwa dengan ini kita tidak memiliki masalah dengan baris terakhir tersebut:

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

Buatlah papan ubin dengan dua elemen per baris dan jarak antar elemen sebesar 20px.