How to Create: Extended Grid
- Previous Page Four-column Layout
- Next Page List Grid View
Learn how to use CSS and JavaScript to create an expandable grid.
Extended Grid
Click a box to "expand" it (100% width):
Box 1
Box 2
Box 3
Create an extended grid
Step 1 - Add 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"> <!-- 如果您想关闭容器,请添加一个关闭按钮 --> <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>
Step 2 - Add CSS:
Create three columns:
/* Grid: three equal-width columns, floated next to each other */ .column { float: left; width: 33.33%; padding: 50px; text-align: center; font-size: 25px; cursor: pointer; color: white; } .containerTab { padding: 20px; color: white; } /* Clear float after columns */ .row:after { content: ""; display: table; clear: both; } /* Closeable button within the image */ .closebtn { float: right; color: white; font-size: 35px; cursor: pointer; }
Step 3 - Add JavaScript:
// Hide all elements with class="containerTab" except the ones matching the clickable grid column 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"; }
- Previous Page Four-column Layout
- Next Page List Grid View