CSS Selectors คือวิธีการที่ใช้ในการระบุหรือเลือกองค์ประกอบ (element) บนหน้าเว็บเพื่อที่จะทำการกำหนดสไตล์ให้กับองค์ประกอบนั้น ๆ ใน CSS เราสามารถใช้ selectors ได้หลากหลายรูปแบบเพื่อเลือกองค์ประกอบตามชื่อแท็ก, class, id, ลักษณะความสัมพันธ์ และสถานะต่าง ๆ ขององค์ประกอบ
Type Selector
เลือกองค์ประกอบโดยใช้ชื่อแท็ก (tag name)
p {
color: blue;
}
ตัวอย่างนี้จะทำให้ข้อความใน <p>
ทุกตัวในหน้าเว็บมีสีฟ้า
Class Selector
เลือกองค์ประกอบที่มีการกำหนด class ใด class หนึ่ง
.button {
background-color: green;
}
จะเลือกองค์ประกอบที่มี class="button"
และให้มีพื้นหลังสีเขียว
ID Selector
เลือกองค์ประกอบที่มี id เฉพาะเจาะจง
#header {
background-color: yellow;
}
จะเลือกองค์ประกอบที่มี id="header"
และกำหนดพื้นหลังเป็นสีเหลือง
Universal Selector
เลือกองค์ประกอบทุกตัวบนหน้าเว็บ
* {
margin: 0;
padding: 0;
}
จะรีเซ็ต margin
และ padding
ขององค์ประกอบทุกตัวให้เป็น 0
Attribute Selector
เลือกองค์ประกอบที่มีแอตทริบิวต์เฉพาะ เช่น type
, href
, หรือ src
input[type="text"] {
border: 1px solid black;
}
จะเลือก <input>
ที่มี type="text"
และกำหนดเส้นขอบสีดำ
Descendant Selector
เลือกองค์ประกอบลูกที่อยู่ภายใต้องค์ประกอบแม่
div p {
color: red;
}
จะเลือก <p>
ที่อยู่ภายใน <div>
และกำหนดข้อความเป็นสีแดง
Child Selector
เลือกองค์ประกอบลูกที่อยู่ในระดับถัดจากองค์ประกอบแม่โดยตรง
div > p {
font-weight: bold;
}
จะเลือก <p>
ที่เป็นลูกตรงของ <div>
และทำให้ข้อความตัวหนา
Adjacent Sibling Selector
เลือกองค์ประกอบที่อยู่ถัดจากพี่น้องที่เป็น sibling ของมัน
h1 + p {
font-style: italic;
}
จะเลือก <p>
ที่อยู่ถัดจาก <h1>
และกำหนดข้อความเป็นตัวเอียง
General Sibling Selector
เลือกองค์ประกอบพี่น้องทั้งหมดที่ตามหลังองค์ประกอบที่ระบุ
h1 ~ p {
color: green;
}
จะเลือก <p>
ทุกตัวที่ตามหลัง <h1>
และเปลี่ยนข้อความเป็นสีเขียว
Pseudo-classes
ใช้เลือกองค์ประกอบตามสถานะหรือเงื่อนไขพิเศษ เช่น hover, focus, nth-child
a:hover {
color: red;
}
จะเปลี่ยนสีลิงก์เป็นสีแดงเมื่อผู้ใช้เอาเมาส์ไปวางบนลิงก์
Pseudo-elements
ใช้เลือกส่วนขององค์ประกอบ เช่น เลือกตัวอักษรตัวแรก, บรรทัดแรก หรือใส่คอนเทนต์เข้าไป
p::first-letter {
font-size: 2em;
}
จะทำให้ตัวอักษรตัวแรกของ <p>
ใหญ่ขึ้น 2 เท่า
Group Selector
สามารถเลือกองค์ประกอบหลายตัวพร้อมกันโดยใช้เครื่องหมายคอมมา (,
)
h1, h2, h3 {
font-family: Arial, sans-serif;
}
จะเลือก <h1>
, <h2>
, และ <h3>
และกำหนดฟอนต์เป็น Arial
การใช้ CSS Selectors อย่างถูกต้องและเหมาะสมจะช่วยให้การออกแบบหน้าเว็บทำได้อย่างง่ายและมีประสิทธิภาพมากขึ้น