แอตทริบิวต์ class ใน HTML คืออะไร?
แอตทริบิวต์ class ใช้สำหรับ กำหนดชื่อคลาส (Class Name) ให้กับอิลิเมนต์** เพื่อจัดกลุ่มอิลิเมนต์ที่มีลักษณะเดียวกัน เพื่อนำไปใช้กับ CSS Selector หรือ JavaScript (DOM) ได้ง่ายขึ้น
ไวยากรณ์ (Syntax)
<element class="classname1 classname2 ...">
สามารถใส่หลายคลัสได้ โดยคั่นด้วยช่องว่าง
ตัวอย่างการใช้งาน
<!DOCTYPE html>
<html>
<head>
<style>
h2.demo {
color: orange;
background-color: black;
padding: 10px;
}
</style>
</head>
<body>
<h1>ทรัพยากรการเรียนรู้</h1>
<h2 class="demo">บทเรียนแบบข้อความ</h2>
<h2 class="demo">บทเรียนแบบวิดีโอ</h2>
<h2 class="demo">คำถามสัมภาษณ์และคำตอบ</h2>
<h2 class="demo">แบบทดสอบออนไลน์</h2>
</body>
</html>
ผลลัพธ์
หัวข้อ h2 ทั้ง 4 รายการ จะมีตัวอักษรสีส้ม พื้นหลังสีดำ ระยะห่าง 10px ตาม CSS ของคลาส .demo
การใช้งานกับ CSS
/* เลือกทุกอิลิเมนต์ที่มี class="demo" */
.demo { color: red; }
/* เลือกเฉพาะ h2 ที่มี class="demo" */
h2.demo { background: black; }
/* เลือกอิลิเมนต์ที่มีทั้ง class="demo" และ "highlight" */
.demo.highlight { font-weight: bold; }
การใช้งานกับ JavaScript
// หาอิลิเมนต์แรกที่มี class="demo"
var el = document.querySelector('.demo');
// หาทุกอิลิเมนต์ที่มี class="demo"
var els = document.querySelectorAll('.demo');
// เพิ่ม/ลบ/สลับ class
element.classList.add('new-class');
element.classList.remove('demo');
element.classList.toggle('active');
แนวทางปฏิบัติที่ดี (Best Practices)
- ใช้ชื่อคลาสที่บ่งบอกความหมาย (Semantic) เช่น
.btn-primaryไม่ใช่.red-button - ใช้ kebab-case:
class="main-header"ไม่ใช่class="mainHeader" - หลีกเลี่ยงชื่อคลาสที่ขึ้นกับรูปลักษณ์ (Presentational)
- หนึ่งอิลิเมนต์สามารถมีหลายคลาสได้