HTML5 การใช้งาน Div Element

<div> (Division) element ใน HTML5 เป็นหนึ่งในองค์ประกอบที่ใช้บ่อยที่สุดในการสร้างโครงสร้างและจัดกลุ่มเนื้อหาภายในหน้าเว็บ เป็นองค์ประกอบแบบบล็อก (block-level element) ซึ่งจะครอบคลุมพื้นที่เต็มความกว้างของหน้าจอหรือคอนเทนเนอร์ที่อยู่ภายใน

การใช้งานทั่วไปของ <div>

จัดกลุ่มเนื้อหา ใช้ในการจัดกลุ่มเนื้อหาหลาย ๆ ส่วนให้เป็นหนึ่งเดียว เช่น ข้อความ รูปภาพ หรือลิงก์ เพื่อให้ง่ายต่อการจัดรูปแบบและปรับแต่งด้วย CSS หรือจัดการด้วย JavaScript

ตัวอย่าง

HTML
<div>
    <h2>เกี่ยวกับเรา</h2>
    <p>เราคือบริษัทที่เชี่ยวชาญในการให้บริการ...</p>
</div>

การจัดเค้าโครง (Layout) การใช้งาน <div> เพื่อจัดส่วนต่าง ๆ ในหน้าเว็บ เช่น ส่วนหัว ส่วนเนื้อหา และส่วนท้าย สามารถจัดวางได้ด้วย CSS เช่น Flexbox หรือ Grid

ตัวอย่าง

HTML
<div class="container">
    <div class="header">ส่วนหัว</div>
    <div class="main-content">เนื้อหาหลัก</div>
    <div class="footer">ส่วนท้าย</div>
</div>

และ CSS สำหรับการจัดเค้าโครง

CSS
.container {
    display: grid;
    grid-template-rows: auto 1fr auto;
}

ใช้งานร่วมกับ CSS <div> มักใช้เป็นคอนเทนเนอร์สำหรับการตกแต่งด้วย CSS เพื่อสร้างรูปร่างและจัดเรียงองค์ประกอบต่าง ๆ เช่น การกำหนดขนาด สี หรือเส้นขอบ

ตัวอย่าง

HTML
<div class="box">
    เนื้อหาภายในกล่อง
</div>

และ CSS

CSS
.box {
    width: 200px;
    height: 100px;
    background-color: lightblue;
    border: 2px solid black;
}

การใช้งานร่วมกับ JavaScript สามารถใช้ <div> เป็นคอนเทนเนอร์ที่ถูกควบคุมด้วย JavaScript เพื่อสร้างอินเทอร์เฟซแบบไดนามิก เช่น การแสดงหรือซ่อนข้อมูล

ตัวอย่าง

HTML
<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

ตัวอย่าง

HTML
<div class="flex-container">
    <div class="item">รายการที่ 1</div>
    <div class="item">รายการที่ 2</div>
    <div class="item">รายการที่ 3</div>
</div>

และ CSS

CSS
.flex-container {
    display: flex;
    justify-content: space-between;
}
.item {
    background-color: lightgreen;
    padding: 20px;
    margin: 10px;
}

โครงสร้างซ้อนกัน (Nesting) <div> สามารถซ้อนกันหลายชั้นเพื่อสร้างโครงสร้างที่ซับซ้อน

ตัวอย่าง

HTML
<div class="outer">
    <div class="middle">
        <div class="inner">เนื้อหาภายในสุด</div>
    </div>
</div>

และ CSS

CSS
.outer {
    background-color: lightcoral;
    padding: 20px;
}
.middle {
    background-color: lightyellow;
    padding: 20px;
}
.inner {
    background-color: lightblue;
    padding: 20px;
}
แชร์เรื่องนี้