如何创建:扩展网格
学习如何使用 CSS 和 JavaScript 创建一个可扩展的网格。
扩展网格
点击一个盒子以“扩展”它(100% 宽度):
Box 1
Box 2
Box 3
创建扩展网格
第一步 - 添加 HTML:
<!-- 网格:三列 --> <div class="row"> <div class="column" onclick="openTab('b1');" style="background:green;">Box 1</div> <div class="column" onclick="openTab('b2');" style="background:blue;">Box 2</div> <div class="column" onclick="openTab('b3');" style="background:red;">Box 3</div> </div> <!-- 扩展网格(默认隐藏) --> <div id="b1" class="containerTab" style="display:none;background:green"> <!-- If you want the ability to close the container, add a close button --> <span onclick="this.parentElement.style.display='none'" class="closebtn">x</span> <h2>Box 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>Box 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>Box 3</h2> <p>Lorem ipsum..</p> </div>
第二步 - 添加 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; }
第三步 - 添加 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"; }