Узнать, как создать раскрывающуюся сетку используя HTML, CSS и JavaScript.
Раскрывающаяся сетка
Нажмите на блок, чтобы "раскрыть" его (ширина 100%):
Блок 1
Lorem ipsum dolor sit amet, te quo doctus abhorreant, et pri deleniti intellegat, te sanctus inermis ullamcorper nam. Ius error diceret deseruisse ad
Блок 2
Lorem ipsum dolor sit amet, te quo doctus abhorreant, et pri deleniti intellegat, te sanctus inermis ullamcorper nam. Ius error diceret deseruisse ad
Блок 3
Lorem ipsum dolor sit amet, te quo doctus abhorreant, et pri deleniti intellegat, te sanctus inermis ullamcorper nam. Ius error diceret deseruisse ad
Создание раскрывающейся сетки
Шаг 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:
// Скрыть все элементы с class="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";
}
Попробуйте сами »