Helyes margókkal rendelkező CSS csempe

Készítsünk egy valóban problémamentesen működő csempét margókkal. Tegyük fel, hogy eredetileg van egy ilyen margók nélküli csempénk:

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

Результат:

Készítsünk vízszintes margókat az elemek között a margin tulajdonsággal.

Ehhez állítsuk be minden gyermek elemre a margin-right értékét 10px-re, minden harmadik gyermek elemnél pedig állítsuk vissza nullára ezt a margin-ot. Használjuk ehhez a nth-child pszeudoosztályt, olyan paraméterrel, amely minden harmadik elemet kiválasztja.

Növeljük meg a szülő szélességét is 320px-re, hogy helyet adjunk a margóknak, és nézzük meg, mit kapunk:

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

Результат:

Tehát minden működik. Távolítsuk el az utolsó elemet, hogy az utolsó sorban kevesebb elem legyen, és győződjünk meg róla, hogy ezzel nincs problénánk az utolsó sorban:

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

Készítsen egy csempét, ahol soronként két elem van, 20px távolsággal az elemek között.