Сетка из шестиугольников на CSS
  • Шестиугольники в данной сетке изменяют свои пропорции в соответствии с к шириной контейнера, в котором они находятся

  • Количество шестиугольников в ряду является адаптивным и изменяется от 5 до 2 в зависимости от ширины экрана (на примере от 4 до 2)
  • Для фотографий в сетке задан hover-эффект с выводом краткой информации.

Пример:

Пример показан для рядов из 4-х и 3-х шестиугольников (для ширины экрана более 1200px), а CSS ниже для рядов из 5-ти и 4-х.

HTML:

CSS:

Количество шестиугольников в рядах

За кол-во шестиугольников в рядах отвечают 2 класса .hex и .hex:nth-child и работают по формуле:

.hex {
   width: 100%/х;
}

.hex:nth-child(an+b){
   margin-left: 100%/x/2; /* половина ширины .hex */
}

Где:

x - кол-во шестиугольников в нечетных рядах (1-ый, 3-тий, 5-тый и т.д.)

y - кол-во шестиугольников в четных рядах (2-ой, 4-тый, 6-той и т.д.)

a = x + y

b = x + 1

Таким образом, если нам нужно расположить шестиугольники в ряды по 8 и 7, то классы будут выглядеть так:

.hex {
   width: 12.5%; /* 100/8 */
}

.hex:nth-child(15n+9) { /* 8+7 и 8+1 */
   margin-left: 6.25% /* 12,5%/2 */
}

Автор: web-tiki

Страничка на github

Смотрите также:

Добавить комментарий:

Ваш комментарий отправлен!