Увлачења у плочицама са аутоширином блокова у CSS

Претпоставимо да имамо плочицу са по четири блока у реду:

css.child {
  width: 25%;
}

Додајмо нашим блоковима увлачења у процентима хоризонтално и вертикално:

css.child {
  margin-right: 1.5%;
  margin-bottom: 1.5%;
}
.child:nth-child(4n) {
  margin-right: 0;
}

Засад оно што смо урадили неће радити коректно, јер је укупна ширина блокова и увлачења већа од 100%. За коректно функционисање морамо од сваког блока одузети одређени део како би направили простор за наша увлачења. Израчунајмо те делове.

У нашем случају имамо четири блока, а између њих три увлачења - од по један и по проценат. Да бисмо израчунали део који одузимамо, потребно је да укупно увлачење поделимо са бројем блокова:

1.5% * 3 / 4 = 1.125

Тада ће ширина сваког блока бити једнака:

25% - 1.5% * 3 / 4 = 23.875%

Добија се следећи код:

css.child {
  width: 23.875%;
  margin-right: 1.5%;
  margin-bottom: 1.5%;
}
.child:nth-child(4n) {
  margin-right: 0;
}

Можемо и сами да не рачунамо ово увлачење, већ да препустимо рачунској функцији calc:

css.child {
  width: calc(25% - 1.5% * 3 / 4);
  margin-right: 1.5%;
  margin-bottom: 1.5%;
}
.child:nth-child(4n) {
  margin-right: 0;
}

Ширину блока такође нека израчунава функција calc:

css.child {
  width: calc(100% / 4 - 1.5% * 3 / 4);
  margin-right: 1.5%;
  margin-bottom: 1.5%;
}
.child:nth-child(4n) {
  margin-right: 0;
}
Задание 1

Поставите блоковима ширину у процентима тако да у плочици буде три блока у реду, а између њих растојање од 3%.

Задание 2

Поставите блоковима ширину у процентима тако да у плочици буде шест блокова у реду, а између њих растојање од 0.5%.

Задание 3

Поставите блоковима ширину у процентима тако да у плочици буде четири блока у реду, а између блокова буде растојање од 30px.

Задание 4

Поставите блоковима ширину у процентима тако да у плочици буде пет блокова у реду, а између блокова буде растојање од 50px.