
CSS Selectors การกำหนดซีเล็คเตอร์ใน CSS
CSS Selectors ใช้สำหรับค้นหาหรือเลือก HTML Element ที่เราต้องการกำหนดสไลต์ เช่น ถ้าต้องการกำหนดสไตล์ให้เอลิเมนต์ p ซีเล็คเตอร์ก็คือ p
CSS selectors สามารถแยกประเภทได้ 5 ประเภท ดังนี้
- Simple selectors เลือกเอลิเมนต์ด้วยการกำหนดชื่อเอลิเมนต์, คลาส หรือ ไอดี
- Combinator Selectors เลือกเอลิเมนต์ด้วยการกำหนดลำดับความสำพันธ์ เช่น div p{} จะหมายถึง เลือกเอลิเมนต์ p ที่ซ้อนอยู่ภายในเอลิเมนต์ div
- Pseudo-class selectors เลือกเอลิเมนต์ตามสถานะ เช่น a:active หมายถึง เอลิเมนต์ a ที่มีสถานะ active
- Pseudo-elements selectors เลือกกำหนดสไตล์ให้บางส่วนของเอลิเมนต์ เช่น p::first-line หมายถึง เลือกำหนดสไตล์ให้ตัวอักษรแถวแรกในเอลิเมนต์ p
- Attribute selectors เลือกเอลิเมนต์ที่มีแอททริบิวต์ตามที่กำหนด เช่น a[target=”_blank”] หมายถึง เลือกเอลิเมนต์ a ที่แอททริบิวต์ tartget มีค่าเป็น _blank
การกำหนด Selector ด้วยชื่อเอลิเมนต์
การกำหนด selectors พื้นฐานใน CSS เราสามารถกำหนด selector ด้วยการระบุชื่อเอลิเมนต์ได้เลย จะหมายถึงการเลือกเอลิเมนต์นั้น ๆ เช่น
p { text-align: center; color: red; }
จากโค้ดตัวอย่าง หมายถึง เลือกเอลิเมนต์ p เพื่อกำหนดสไตล์ จัดตัวอักษรอยู่กึ่งกลาง และกำหนดให้สีตัวอักษรเป็นสีแดง
การกำหนด selector ด้วย id
เราสามารถกำหนด selector โดยการระบุไอดีของเอลิเมนต์ เพื่อเป็นการเจาะจงกำหนดสไตล์ให้เอลิเมนต์เพียงตัวเดียวให้เพจนั้น เพราะโดยปกติแล้ว ในแต่ละเพจ เราจะกำหนดไอดีให้กับเอลิเมนต์ไม่ซ้ำกัน
#section1 { text-align: center; color: red; }
การกำหนด selector ด้วย id ให้วางเครื่องหมาย hash (#) ไว้ด้านหน้า ตามด้วยค่าของแอททริบิวต์ id เช่น #section1
การกำหนด selector ด้วยคลาส
การกำหนด selector ด้วยคลาส ใช้สำหรับกำหนดสไตล์ให้กับเอลิเมนต์ที่มีชื่อคลาสตามที่เราต้องการ สามารถทำได้โดยวางเครื่องหมาย period (.) ไว้ด้านหน้า แล้วตามด้วยชื่อคลาส เช่น .address
.address { text-align: center; color: red; }
หรือจะกำหนดด้วยชื่อเอลิเมนต์ ตามด้วย . และชื่อคลาส ก็ได้เช่นกัน
p.address { text-align: center; color: red; }
เลือกเอลิเมนต์ทั้งหมดในเพจ
เราสามารถเลือกกำหนดสไตล์ให้กับเอลิเมนต์ทั้งหมดในเพจนั้นได้ โดยใช้เครื่องหมาย * เป็น selector ดังนี้
* { text-align: center; color: blue; }
จากโค้ดด้านบน หมายถึง กำหนดสไตล์ให้กับทุก ๆ เอลิเมนต์ที่อยู่ในหน้าเพจนั้น
การกำหนด selector เป็นกลุ่ม
หากต้องการกำหนดสไตล์ให้เอลิเมนต์หลาย ๆ เอลิเมนต์ด้วยสไตล์ที่เหมือนกัน เราไม่จำเป็นต้องเขียนโค้ดหลายครั้ง เราสามารถกำหนดสไตล์ให้กับเอลิเมนต์ที่ต้องการด้วยการเขียนโค้ดเพียงครั้งเดียว โดยคั่น selector แต่ละตัวด้วยเครื่องหมาอยคอมม่า (,) เช่น p,h1,h2
h1, h2, p { text-align: center; color: red; }
จากโค้ดด้านบน คือการกำหนดสไตล์ให้กับเอลิเมนต์ h1, h2 และ p ด้วยสไตล์เดียวกัน โดยไม่ต้องเสียเวลาเขียนแยกกันหลายครั้ง