Каким способом лучше всего расположить частицы на фоне секции адаптивного сайта?

Есть такой дизайн, где на фоне расположены квадраты, круги, треугольники и кресты в SVG формате (скриншот). Каким способом их грамотнее всего будет располагать? Вручную прописывать каждой position absolute с координатами это бред как по мне. В голову еще идет вариант с фотошопом и созданием бесшового фрагмента, но хотелось бы минимизировать растровую графику на сайте.

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Vasily

К абсолютному позиционированию в 2020 году стоит прибегать только в крайних случаях. Если Вам не нужно поддерживать старые браузеры, то наиболее оптимальным и масштабируемым решением будет воспользоваться возможностями CSS Grid, пример с сайта MDN:

.wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
  grid-auto-rows: minmax(100px, auto);
}

.wrapper > div {
  background-color: rgba(233,171,88,.5);
  border: 2px solid rgb(233,171,88);
}

.one {
  grid-column: 1 / 3;
  grid-row: 1;
}

.two {
  grid-column: 2 / 4;
  grid-row: 1 / 3;
}

.three {
  grid-column: 1;
  grid-row: 2 / 5;
}

.four {
  grid-column: 3;
  grid-row: 3;
}

.five {
  grid-column: 2;
  grid-row: 4;
}

.six {
  grid-column: 3;
  grid-row: 4;
}
<div class="wrapper">
  <div class="one">One</div>
  <div class="two">Two</div>
  <div class="three">Three</div>
  <div class="four">Four</div>
  <div class="five">Five</div>
  <div class="six">Six</div>
</div>

→ Ссылка