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

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

การใช้งาน <details> ในรูปแบบต่าง ๆ
ใช้แสดง FAQ (คำถามที่พบบ่อย)
<details>
<summary>ถาม: การสมัครสมาชิกต้องทำอย่างไร?</summary>
<p>ตอบ: คุณสามารถสมัครสมาชิกได้ผ่านหน้าเว็บไซต์ของเราภายใต้เมนู 'สมัครสมาชิก'</p>
</details>
<details>
<summary>ถาม: ค่าธรรมเนียมการสมัครสมาชิกคือเท่าไหร่?</summary>
<p>ตอบ: ค่าสมัครสมาชิกอยู่ที่ 500 บาทต่อปี</p>
</details>
แสดงโค้ดโปรแกรมหรือเนื้อหาที่ยาว
<details>
<summary>คลิกเพื่อดูโค้ด JavaScript</summary>
<pre>
function sayHello() {
console.log('Hello, World!');
}
sayHello();
</pre>
</details>
ใช้ในแบบฟอร์ม
<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 อื่น ๆ
<style>
summary {
font-weight: bold;
cursor: pointer;
}
details[open] p {
color: green;
}
</style>
<details>
<summary>ข้อเสนอพิเศษ</summary>
<p>คุณได้รับส่วนลด 20% สำหรับการสั่งซื้อครั้งต่อไป!</p>
</details>ในตัวอย่างนี้ เมื่อคลิกเพื่อขยายเนื้อหาจะเปลี่ยนสีข้อความเป็นสีเขียว

คุณสมบัติและการประยุกต์ใช้
<details open>: หากต้องการให้เนื้อหาแสดงทันทีเมื่อเปิดหน้าเว็บ สามารถเพิ่มแอตทริบิวต์openใน<details>ได้
<details open>
<summary>รายละเอียดที่เปิดอยู่ตั้งแต่เริ่มต้น</summary>
<p>เนื้อหานี้จะถูกแสดงเมื่อโหลดหน้าเว็บ</p>
</details>การประยุกต์ใช้งานสามารถใช้ได้หลากหลาย เช่น การแสดงเอกสารยาว ๆ, การแสดงข้อมูลที่ซ่อนอยู่ หรือการแสดงเนื้อหาที่สามารถเปิด-ปิดได้เพื่อความสะดวก
สรุป
แท็ก <details> เป็นเครื่องมือที่มีประโยชน์ในการสร้างเนื้อหาที่ผู้ใช้สามารถเลือกเปิดหรือปิดได้ใน HTML5 ทำให้การแสดงผลมีความยืดหยุ่นและสามารถนำไปประยุกต์ใช้ในหลายสถานการณ์
