วิธีที่จะสร้าง: ขยายกริด
- หน้าก่อน การจัดเรียงสี่คอลัมน์
- หน้าต่อไป การจัดเรียงเนื้อหาเป็นรูปแบบกริด
เรียนรู้ว่าเชื่อมโยง CSS และ JavaScript ที่จะสร้างกริดที่สามารถขยายได้
ขยายกริด
คลิกบนกล่องเพื่อ "ขยาย" มัน (ความกว้าง 100%):
Box 1
Box 2
Box 3
สร้างกริดขยาย
ขั้นที่ 1 - เพิ่ม 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>
ขั้นที่สอง - เพิ่ม 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"; }
- หน้าก่อน การจัดเรียงสี่คอลัมน์
- หน้าต่อไป การจัดเรียงเนื้อหาเป็นรูปแบบกริด