Адаптыўная плітачка без адступаў у CSS

Давайце зробім плітачку, якая будзе мець розную колькасць блокаў у шэрагу ў залежнасці ад шырыні экрана. Вось прыклад таго, што ў нас павінна атрымацца:

Напішам спачатку HTML код:

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 class="child">10</div>
  <div class="child">11</div>
  <div class="child">12</div>
</div>

Давайце цяпер дадам стылі бацьку блокаў:

css.parent {
  display: flex;
  flex-wrap: wrap;
  width: 95%;
  margin: 50px auto;
}

Цяпер зададзім стылі самім блокам, не задаючы ім шырыню:

css.child {
  box-sizing: border-box;
  height: 100px;
  padding: 20px;
  border: 1px solid green;
}

Відавочна, што шырыня блокаў павінна быць у працэнтах, каб пры змяненні экрана блокі плыўна мянялі сваю шырыню. Пры гэтым у пэўных кропках экрана мы павінны мяняць шырыню блокаў так, каб у шэраг змяшчалася пэўная колькасць гэтых блокаў.

Давайце напішам код, які паставіць чатыры блокі ў шэраг:

css@media (min-width: 1000px) {
  .child {
    width: 25%;
  }
}

А цяпер паставім тры блокі ў шэраг:

css@media (min-width: 700px) and (max-width: 1000px) {
  .child {
    width: 33.3333%;
  }
}

А цяпер паставім два блокі ў шэраг:

css@media (min-width: 400px) and (max-width: 700px) {
  .child {
    width: 50%;
  }
}

Адзін блок у шэраг:

css@media (max-width: 400px) {
  .child {
    width: 100%;
  }
}

Давайце саберем увесь код разам:

css.parent {
  display: flex;
  flex-wrap: wrap;
  width: 95%;
  margin: 50px auto;
}
.child {
  box-sizing: border-box;
  height: 100px;
  padding: 20px;
  border: 1px solid green;
}

@media (max-width: 400px) {
  .child {
    width: 100%;
  }
}
@media (min-width: 400px) and (max-width: 700px) {
  .child {
    width: 50%;
  }
}
@media (min-width: 700px) and (max-width: 1000px) {
  .child {
    width: 33.3333%;
  }
}
@media (min-width: 1000px) {
  .child {
    width: 25%;
  }
}
Задание 1

Перарабіце мой код так, каб шырыня блокаў вылічвалася праз функцыю calc.

Задание 2

Зрабіце плітачку, якая пры памяншэнні экрана будзе спачатку чатыры элемента ў шэраг, потым два элемента ў шэраг, а потым адзін элемент у шэраг.

Задание 3

Зрабіце плітачку, якая пры памяншэнні экрана будзе спачатку шэсць элементаў у шэраг, потым тры элемента ў шэраг, а потым адзін элемент у шэраг.