Здесь вы узнаете, как сделать сетку изображений при помощи CSS и JavaScript.
Сетка изображений
Здесь вы узнаете, как сделать галерею изображений, которая переключается между тремя видами: четыре изображения в ряд, два изображения и одно изображение на всю ширину экрана.
Попробовать самому »Как сделать сетку изображений
Шаг 1) Добавляем HTML:
Пример
<div class="row">
<div class="column">
<img src="wedding.jpg">
<img src="rocks.jpg">
<img src="falls2.jpg">
<img src="paris.jpg">
<img src="nature.jpg">
<img src="mist.jpg">
<img src="paris.jpg">
</div>
<div class="column">
<img src="underwater.jpg">
<img src="ocean.jpg">
<img src="wedding.jpg">
<img src="mountainskies.jpg">
<img src="rocks.jpg">
<img src="underwater.jpg">
</div>
<div class="column">
<img src="wedding.jpg">
<img src="rocks.jpg">
<img src="falls2.jpg">
<img src="paris.jpg">
<img src="nature.jpg">
<img src="mist.jpg">
<img src="paris.jpg">
</div>
<div class="column">
<img src="underwater.jpg">
<img src="ocean.jpg">
<img src="wedding.jpg">
<img src="mountainskies.jpg">
<img src="rocks.jpg">
<img src="underwater.jpg">
</div>
</div>
Шаг 2) Добавляем CSS:
Чтобы создать раскладку, используем CSS Flexbox:
Пример
.row {
display: flex;
flex-wrap: wrap;
padding: 0 4px;
}
/* Создаем две одинаковые колонки, располагающиеся рядом друг с другом */
.column {
flex: 50%;
padding: 0 4px;
}
.column img {
margin-top: 8px;
vertical-align: middle;
}
Попробовать самому »Шаг 3) Добавляем JavaScript:
При помощи JavaScript создаем контролируемый вид сетки:
Пример
<button onclick="one()">1</button>
<button onclick="two()">2</button>
<button onclick="four()">4</button>
<script>
// Получаем элементы с классом "column"ы
var elements = document.getElementsByClassName("column");
// Декларируем переменную цикла
var i;
// Изображения во всю ширину экрана
function one() {
for (i = 0; i < elements.length; i++) {
elements[i].style.flex = "100%";
}
}
// Два изображения рядом друг с другом
function two() {
for (i = 0; i < elements.length; i++) {
elements[i].style.flex = "50%";
}
}
// Четыре изображения рядом друг с другом
function four() {
for (i = 0; i < elements.length; i++) {
elements[i].style.flex = "25%";
}
}
</script>
Попробовать самому »