Как сделать такую сетку на css?

207
04 августа 2018, 03:30

Подскажите, на рисунке слайдер, и в каждом квадрате один слайд с изображением. Как сделать такую сетку на css?
В вёрстке каждый квадрат это отдельный слайд, т.е. в слайде не два ряда, а один.
Плагин слайдера сам образует два ряда через настройки и 4 в ряд.

Answer 1

Пример 1

* { 
  padding: 0; 
  margin: 0; 
  box-sizing: border-box; 
} 
 
body { 
  padding: 25px; 
} 
 
.slider { 
  display: flex; 
  flex-wrap: wrap; 
  padding: 1px; 
} 
 
.item { 
  min-height: 50px; 
  width: 25%; 
  border: 2px dotted #ccc; 
  margin: -1px; 
} 
 
.item:nth-of-type(8n + 1), 
.item:nth-of-type(8n + 5) { 
  border-left: none; 
} 
 
.item:nth-of-type(8n + 1), 
.item:nth-of-type(8n + 2), 
.item:nth-of-type(8n + 3), 
.item:nth-of-type(8n + 4) { 
  border-top: none; 
} 
 
.item:nth-of-type(8n + 4), 
.item:nth-of-type(8n + 8) { 
  border-right: none; 
} 
 
.item:nth-of-type(8n + 5), 
.item:nth-of-type(8n + 6), 
.item:nth-of-type(8n + 7), 
.item:nth-of-type(8n + 8) { 
  border-bottom: none; 
}
<div class="slider"> 
  <div class="item"></div> 
  <div class="item"></div> 
  <div class="item"></div> 
  <div class="item"></div> 
  <div class="item"></div> 
  <div class="item"></div> 
  <div class="item"></div> 
  <div class="item"></div> 
</div>

Пример 2

* { 
  padding: 0; 
  margin: 0; 
  box-sizing: border-box; 
} 
 
body { 
  padding: 25px; 
} 
 
.slider { 
  display: flex; 
  flex-wrap: wrap; 
} 
 
.item { 
  min-height: 50px; 
  width: 25%; 
  position: relative; 
} 
 
.item:before, 
.item:after { 
  content: ''; 
  position: absolute; 
  top: 0; 
  left: 0; 
} 
 
.item:before { 
  width: 2px; 
  height: 100%; 
  background-image: linear-gradient(to bottom, #ccc 16%, rgba(255, 255, 255, 0) 0%); 
  background-position: left; 
  background-size: 2px 14px; 
  background-repeat: repeat-y; 
} 
 
.item:after { 
  width: 100%; 
  height: 2px; 
  background-image: linear-gradient(to right, #ccc 16%, rgba(255, 255, 255, 0) 0%); 
  background-position: top; 
  background-size: 14px 2px; 
  background-repeat: repeat-x; 
} 
 
.item:nth-of-type(8n + 1):before, 
.item:nth-of-type(8n + 5):before, 
.item:nth-of-type(8n + 1):after, 
.item:nth-of-type(8n + 2):after, 
.item:nth-of-type(8n + 3):after, 
.item:nth-of-type(8n + 4):after { 
  background: none; 
}
<div class="slider"> 
  <div class="item"></div> 
  <div class="item"></div> 
  <div class="item"></div> 
  <div class="item"></div> 
  <div class="item"></div> 
  <div class="item"></div> 
  <div class="item"></div> 
  <div class="item"></div> 
</div>

READ ALSO
Растянуть див по высоте содержимого

Растянуть див по высоте содержимого

Есть сайт на WordpressУстановил на него слайдер (не плагином)

152
Функция Javascript для подставления данных

Функция Javascript для подставления данных

Подскажите, пожалуйста, есть массив элементов с координатами на google mapsПрисуствует infowindow, я знаю то, что при помощи такого вида ссылки передаются...

206
position:absolute; Из фрейма

position:absolute; Из фрейма

На странице есть плавающий фрейм и в нем есть таким способ реализованное всплывающее окно: #floatWindow{ display : none; } затем #floatWindow:hover{ display : block; } и когда...

169
скрыть содержимое атрибута js

скрыть содержимое атрибута js

Есть код вставки видео с рутуба

151