HTML5 การใช้งาน details Tag

ใน HTML5, แท็ก <details> ใช้สำหรับการสร้างส่วนที่สามารถแสดงหรือซ่อนเนื้อหาได้เมื่อผู้ใช้งานคลิก โดยปกติจะแสดงข้อมูลเสริม หรือคำอธิบายเพิ่มเติมที่สามารถเปิด-ปิดได้โดยง่าย ซึ่งมักใช้ในการสร้าง FAQ, รายการแบบ collapsible หรือแสดงเนื้อหาที่เป็นทางเลือก

โครงสร้างพื้นฐานของแท็ก <details>

HTML
<details>
  <summary>คลิกที่นี่เพื่อดูรายละเอียด</summary>
  <p>นี่คือเนื้อหาที่ซ่อนอยู่ภายในแท็ก details</p>
</details>
  • <details>: คือแท็กที่ทำให้เนื้อหาสามารถแสดงหรือซ่อนตามการคลิก
  • <summary>: คือตัวเลือกที่ผู้ใช้จะคลิกเพื่อเปิดหรือปิดเนื้อหาภายใน โดยเนื้อหาที่อยู่ภายใน <details> จะถูกซ่อนจนกว่าจะมีการคลิกที่ <summary>
HTML
<details>
  <summary>วิธีทำเค้กช็อกโกแลต</summary>
  <p>1. เตรียมส่วนผสมของเค้ก</p>
  <p>2. ผสมส่วนผสมทั้งหมด</p>
  <p>3. อบเค้กในเตาอบที่อุณหภูมิ 180 องศาเซลเซียสเป็นเวลา 30 นาที</p>
</details>

เมื่อคลิกที่ “วิธีทำเค้กช็อกโกแลต” เนื้อหาจะขยายออกมาแสดงขั้นตอนต่าง ๆ ในการทำเค้ก

การใช้งาน <details> ในรูปแบบต่าง ๆ

ใช้แสดง FAQ (คำถามที่พบบ่อย)

HTML
<details>
  <summary>ถาม: การสมัครสมาชิกต้องทำอย่างไร?</summary>
  <p>ตอบ: คุณสามารถสมัครสมาชิกได้ผ่านหน้าเว็บไซต์ของเราภายใต้เมนู 'สมัครสมาชิก'</p>
</details>

<details>
  <summary>ถาม: ค่าธรรมเนียมการสมัครสมาชิกคือเท่าไหร่?</summary>
  <p>ตอบ: ค่าสมัครสมาชิกอยู่ที่ 500 บาทต่อปี</p>
</details>

แสดงโค้ดโปรแกรมหรือเนื้อหาที่ยาว

HTML
<details>
  <summary>คลิกเพื่อดูโค้ด JavaScript</summary>
  <pre>
function sayHello() {
  console.log('Hello, World!');
}
sayHello();
  </pre>
</details>

ใช้ในแบบฟอร์ม

HTML
<form>
  <label for="name">ชื่อ:</label>
  <input type="text" id="name" name="name">

  <details>
    <summary>ข้อมูลเพิ่มเติม</summary>
    <p>กรุณากรอกข้อมูลส่วนบุคคลเพื่อใช้ในการติดต่อกลับ</p>
  </details>

  <input type="submit" value="ส่งข้อมูล">
</form>

ใช้กับ CSS เพื่อปรับแต่งสไตล์

สามารถเพิ่มสไตล์ให้กับแท็ก <details> หรือ <summary> ได้เช่นเดียวกับแท็ก HTML อื่น ๆ

HTML
<style>
  summary {
    font-weight: bold;
    cursor: pointer;
  }
  details[open] p {
    color: green;
  }
</style>

<details>
  <summary>ข้อเสนอพิเศษ</summary>
  <p>คุณได้รับส่วนลด 20% สำหรับการสั่งซื้อครั้งต่อไป!</p>
</details>

ในตัวอย่างนี้ เมื่อคลิกเพื่อขยายเนื้อหาจะเปลี่ยนสีข้อความเป็นสีเขียว

คุณสมบัติและการประยุกต์ใช้

  • <details open>: หากต้องการให้เนื้อหาแสดงทันทีเมื่อเปิดหน้าเว็บ สามารถเพิ่มแอตทริบิวต์ open ใน <details> ได้
HTML
<details open>
  <summary>รายละเอียดที่เปิดอยู่ตั้งแต่เริ่มต้น</summary>
  <p>เนื้อหานี้จะถูกแสดงเมื่อโหลดหน้าเว็บ</p>
</details>

การประยุกต์ใช้งานสามารถใช้ได้หลากหลาย เช่น การแสดงเอกสารยาว ๆ, การแสดงข้อมูลที่ซ่อนอยู่ หรือการแสดงเนื้อหาที่สามารถเปิด-ปิดได้เพื่อความสะดวก

สรุป

แท็ก <details> เป็นเครื่องมือที่มีประโยชน์ในการสร้างเนื้อหาที่ผู้ใช้สามารถเลือกเปิดหรือปิดได้ใน HTML5 ทำให้การแสดงผลมีความยืดหยุ่นและสามารถนำไปประยุกต์ใช้ในหลายสถานการณ์

แชร์เรื่องนี้