Водступы ў плітачнай раскладцы з аўташырынёй блокаў на 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.