Skip to content

ตัวเลือก CSS อธิบาย

ตัวเลือก CSS ที่ใช้กันทั่วไปทุกตัว จัดกลุ่มตามตระกูล: พื้นฐาน, combinator, pseudo-class, pseudo-element และตัวเลือกแอตทริบิวต์ แต่ละแถวจับคู่ตัวเลือกกับตัวอย่างหนึ่งบรรทัด

ตัวเลือกเลือก element ที่กฎจะนำไปใช้ ค่า specificity ตัดสินว่ากฎไหนชนะเมื่อหลายกฎเข้ากันพร้อมกัน: inline ชนะ id, id ชนะ class, class ชนะ type อ่านตัวเลือกจากขวาไปซ้าย: เบราว์เซอร์จับคู่ส่วนขวาสุดก่อน แล้วไล่ขึ้นตาม combinator ตระกูลด้านล่างนี้ครอบคลุมเกือบทุกอย่างที่คุณจะเขียน

ตารางอ้างอิง · 53 รายการ
53 of 53 rows
พื้นฐาน
ทุก element ที่ใช้แท็กนั้นbutton { }
element ที่มี class นั้น.active { }
element เดียวที่มี id นั้น#header { }
ทุก element* { box-sizing: border-box; }
รากของเอกสาร ตำแหน่งมาตรฐานสำหรับ custom property ระดับโกลบอล:root { --gap: 1rem; }
element ที่เข้ากับ A หรือ B (การจัดกลุ่ม)h1, h2, h3 { }
Combinator
B ใดก็ได้ที่เป็นลูกหลานของ Anav a { }
B ที่เป็นลูกโดยตรงของ Aul > li { }
B ที่อยู่ถัดจาก A ทันที โดยมี parent เดียวกันh1 + p { }
ทุก B ที่อยู่หลัง A โดยมี parent เดียวกันh1 ~ p { }
Pseudo-class (สถานะ)
element ในขณะที่ตัวชี้อยู่เหนือมันa:hover { }
element ที่ได้รับโฟกัสจากคีย์บอร์ดinput:focus { }
element ที่เป็นลูกตัวแรกของ parentli:first-child { }
ลูกตัวที่ n รับสูตรอย่าง 2n ได้tr:nth-child(2n) { }
element ที่ไม่เข้ากับตัวเลือกภายในใด ๆ รับลิสต์ได้ตั้งแต่ Selectors 4li:not(:first-child, .skip) { }
checkbox, radio หรือ option ที่ถูกเลือกinput:checked { }
input หรือปุ่มที่ถูกปิดใช้งานbutton:disabled { }
parent ที่มี element เข้ากับตัวเลือกภายในอยู่ข้างในli:has(ul) { }
ตัวเลือกใดก็ได้ในลิสต์ specificity เท่ากับค่าสูงสุดในลิสต์:is(ol, ul) li { }
เหมือน :is() แต่ specificity เป็นศูนย์:where(ol, ul) li { }
โฟกัสที่ควรแสดงวงแหวน มักมาจากคีย์บอร์ดa:focus-visible { }
element ที่ตัวมันเองหรือลูกหลานมีโฟกัสform:focus-within { }
element ที่เป็นลูกตัวสุดท้ายของ parentli:last-child { }
element ที่ไม่มีพี่น้องp:only-child { }
พี่น้องตัวที่ n ที่ใช้แท็กเดียวกัน รับสูตรอย่าง 2n ได้p:nth-of-type(2n) { }
พี่น้องตัวแรกหรือตัวสุดท้ายที่ใช้แท็กเดียวกันp:first-of-type { }
element ที่ไม่มีลูกและไม่มีข้อความtd:empty { }
ลิงก์ที่ยังไม่เคยเข้า กับลิงก์ที่เข้าไปแล้วa:visited { }
input ที่กำหนด required กับ input ที่เป็นทางเลือกinput:required { }
input ที่ค่าผ่านหรือไม่ผ่านกฎการตรวจสอบของมันinput:invalid { }
input ที่ผู้ใช้แก้ไขไม่ได้input:read-only { }
element ที่ id ตรงกับส่วน fragment ของ URL#note:target { }
option ที่เลือกไว้ล่วงหน้าหรือปุ่มเริ่มต้นของกลุ่มinput:default { }
checkbox ที่สคริปต์ตั้งเป็นสถานะ indeterminateinput:indeterminate { }
element ในตัวใดก็ได้ หรือ custom element เมื่อถูก register แล้วmy-widget:defined { }
element ที่อยู่ในภาษาที่กำหนดp:lang(fr) { }
Pseudo-element
โหนดเนื้อหาที่สร้างขึ้นก่อน elementlabel::before { content: ""; }
โหนดเนื้อหาที่สร้างขึ้นหลัง elementcode::after { content: ";"; }
ตัวอักษรแรกของบล็อกข้อความp::first-letter { }
ข้อความ placeholder ของ inputinput::placeholder { }
บรรทัดแรกของบล็อกข้อความp::first-line { }
ข้อความที่ผู้ใช้ไฮไลต์ไว้::selection { }
จุดนำหน้าหรือเลขกำกับของรายการในลิสต์li::marker { }
พื้นที่ด้านหลัง element แบบเต็มจอหรือ dialogdialog::backdrop { }
ปุ่มเรียกดูไฟล์ที่อยู่ภายใน input แบบไฟล์input::file-selector-button { }
ส่วนของ shadow DOM ที่ host เปิดเผยไว้my-widget::part(header) { }
ตัวเลือกแอตทริบิวต์
element ที่มีแอตทริบิวต์นั้น ไม่สนค่า[required] { }
แอตทริบิวต์มีค่าเท่ากับ val แบบตรงตัว[type="submit"] { }
แอตทริบิวต์ขึ้นต้นด้วย vala[href^="https"] { }
แอตทริบิวต์ลงท้ายด้วย vala[href$=".pdf"] { }
แอตทริบิวต์มี val อยู่ข้างในa[href*="login"] { }
ลิสต์ที่คั่นด้วยช่องว่างและมี val เป็นหนึ่งในค่า[class~="badge"] { }
ค่าเท่ากับ val หรือขึ้นต้นด้วย val ตามด้วยเครื่องหมายขีดกลาง[lang|="en"] { }