<div> (Division) element ใน HTML5 เป็นหนึ่งในองค์ประกอบที่ใช้บ่อยที่สุดในการสร้างโครงสร้างและจัดกลุ่มเนื้อหาภายในหน้าเว็บ เป็นองค์ประกอบแบบบล็อก (block-level element) ซึ่งจะครอบคลุมพื้นที่เต็มความกว้างของหน้าจอหรือคอนเทนเนอร์ที่อยู่ภายใน
การใช้งานทั่วไปของ <div>
จัดกลุ่มเนื้อหา ใช้ในการจัดกลุ่มเนื้อหาหลาย ๆ ส่วนให้เป็นหนึ่งเดียว เช่น ข้อความ รูปภาพ หรือลิงก์ เพื่อให้ง่ายต่อการจัดรูปแบบและปรับแต่งด้วย CSS หรือจัดการด้วย JavaScript
ตัวอย่าง
<div>
<h2>เกี่ยวกับเรา</h2>
<p>เราคือบริษัทที่เชี่ยวชาญในการให้บริการ...</p>
</div>การจัดเค้าโครง (Layout) การใช้งาน <div> เพื่อจัดส่วนต่าง ๆ ในหน้าเว็บ เช่น ส่วนหัว ส่วนเนื้อหา และส่วนท้าย สามารถจัดวางได้ด้วย CSS เช่น Flexbox หรือ Grid
ตัวอย่าง
<div class="container">
<div class="header">ส่วนหัว</div>
<div class="main-content">เนื้อหาหลัก</div>
<div class="footer">ส่วนท้าย</div>
</div>และ CSS สำหรับการจัดเค้าโครง
.container {
display: grid;
grid-template-rows: auto 1fr auto;
}ใช้งานร่วมกับ CSS <div> มักใช้เป็นคอนเทนเนอร์สำหรับการตกแต่งด้วย CSS เพื่อสร้างรูปร่างและจัดเรียงองค์ประกอบต่าง ๆ เช่น การกำหนดขนาด สี หรือเส้นขอบ
ตัวอย่าง
<div class="box">
เนื้อหาภายในกล่อง
</div>และ CSS
.box {
width: 200px;
height: 100px;
background-color: lightblue;
border: 2px solid black;
}การใช้งานร่วมกับ JavaScript สามารถใช้ <div> เป็นคอนเทนเนอร์ที่ถูกควบคุมด้วย JavaScript เพื่อสร้างอินเทอร์เฟซแบบไดนามิก เช่น การแสดงหรือซ่อนข้อมูล
ตัวอย่าง
<button onclick="toggleVisibility()">คลิกเพื่อแสดง/ซ่อน</button>
<div id="content" style="display:none;">
นี่คือข้อมูลที่ถูกซ่อน
</div>
<script>
function toggleVisibility() {
var content = document.getElementById('content');
if (content.style.display === 'none') {
content.style.display = 'block';
} else {
content.style.display = 'none';
}
}
</script>ใช้ร่วมกับ Flexbox สำหรับการจัดเรียง <div> สามารถใช้เพื่อจัดเรียงลูกแบบยืดหยุ่นด้วย Flexbox
ตัวอย่าง
<div class="flex-container">
<div class="item">รายการที่ 1</div>
<div class="item">รายการที่ 2</div>
<div class="item">รายการที่ 3</div>
</div>และ CSS
.flex-container {
display: flex;
justify-content: space-between;
}
.item {
background-color: lightgreen;
padding: 20px;
margin: 10px;
}โครงสร้างซ้อนกัน (Nesting) <div> สามารถซ้อนกันหลายชั้นเพื่อสร้างโครงสร้างที่ซับซ้อน
ตัวอย่าง
<div class="outer">
<div class="middle">
<div class="inner">เนื้อหาภายในสุด</div>
</div>
</div>และ CSS
.outer {
background-color: lightcoral;
padding: 20px;
}
.middle {
background-color: lightyellow;
padding: 20px;
}
.inner {
background-color: lightblue;
padding: 20px;
}