Как создать: расширенная сетка
- Предыдущая страница Четырёхколоночный макет
- Следующая страница Вид списка в виде сетки
Узнайте, как использовать CSS и JavaScript для создания расширяемой сетки.
Расширенная сетка
Нажмите на одну коробку, чтобы "расширить" её (100% ширины):
Коробка 1
Коробка 2
Коробка 3
Создайте расширенную сетку
Шаг 1 - Добавьте HTML:
<!-- Сетка: три колонки --> <div class="row"> <div class="column" onclick="openTab('b1');" style="background:green;">Коробка 1</div> <div class="column" onclick="openTab('b2');" style="background:blue;">Коробка 2</div> <div class="column" onclick="openTab('b3');" style="background:red;">Коробка 3</div> </div> <!-- Расширенная сетка (по умолчанию скрыта) --> <div id="b1" class="containerTab" style="display:none;background:green"> Если вы хотите иметь возможность закрывать контейнер, добавьте кнопку закрытия <span onclick="this.parentElement.style.display='none'" class="closebtn">x</span> <h2>Коробка 1</h2> <p>Lorem ipsum..</p> </div> <div id="b2" class="containerTab" style="display:none;background:blue"> <span onclick="this.parentElement.style.display='none'" class="closebtn">x</span> <h2>Коробка 2</h2> <p>Lorem ipsum..</p> </div> <div id="b3" class="containerTab" style="display:none;background:red"> <span onclick="this.parentElement.style.display='none'" class="closebtn">x</span> <h2>Коробка 3</h2> <p>Lorem ipsum..</p> </div>
Шаг 2 - Добавить CSS:
Создать три колонки:
/* Сетка: три одинаковых по ширине столбца, плавающие друг относительно друга */ .column { float: left; width: 33.33%; padding: 50px; text-align: center; font-size: 25px; cursor: pointer; color: white; } .containerTab { padding: 20px; color: white; } /* Удаление浮动 после колонок */ .row:after { content: ""; display: table; clear: both; } /* Кнопка для закрытия в изображении */ .closebtn { float: right; color: white; font-size: 35px; cursor: pointer; }
Шаг 3 - Добавить JavaScript:
// Скрыть все элементы с классом="containerTab", кроме тех, которые соответствуют кликабельным ячейкам сетки function openTab(tabName) { var i, x; x = document.getElementsByClassName("containerTab"); for (i = 0; i < x.length; i++) { x[i].style.display = "none"; } document.getElementById(tabName).style.display = "block"; }
- Предыдущая страница Четырёхколоночный макет
- Следующая страница Вид списка в виде сетки