#id
Selektors ļauj mērķēt kādu elementu, atsaucoties uz id
HTML atribūtu. Līdzīgi tam, kā klases atribūti CSS tiek apzīmēti ar “periodu” ( .
) pirms klases nosaukuma, ID atribūti tiek prefiksēti ar “octothorpe” ( #
), kas plašāk pazīstami kā “hash” vai “mārciņas zīme”.
#header ( /* this is the ID selector */ background: #eee; )
ID atribūta vērtībām jābūt unikālām. HTML ar diviem vai vairākiem identiskiem id
s netiek apstiprināts un radīs neparedzamus rezultātus. Ja ir divi vienādi, CSS joprojām atbilst abiem. Tomēr, vaicājot par ID, JavaScript atrod pirmo un apstājas.
ID atlasītāji ir ārkārtīgi spēcīgi. Viņiem ir ļoti augsta specifika, parasti tos raksta kā (0, 1, 0, 0). Stili, kas tiek lietoti kopā ar tiem, ignorē citus atlasītājus, kuri izmanto tikai tagus vai klases. Demonstrēt:
Pārbaudiet šo pildspalvu!
Tiek piešķirta rindkopa ar gan ID, gan klases atribūtu, kas ir pretrunā ar CSS noteikumiem; Kaut arī klases selektors ( .reusable
) #unique
CSS atrodas zem ID selektora ( ) (tas parasti pārspīlē stilus virs tā “kaskādē”), rindkopa paliek sarkana, jo tā #unique
pārspēj iestatīto zilo krāsu .reusable
. Bezgalīgs stundu skaits nekad nevar pārspēt ID specifiku (lai gan vienlaikus bija kļūda, kurā 256 klases pārspēja ID).
Augsta specifika un unikalitāte nozīmē, ka izmantošana #id
ir CSS “kodolenerģijas iespēja”: pārāk jaudīga, neelastīga un nesamērīgi efektīva. Izvairīšanās no #id
selektora CSS tiek uzskatīta par labāko praksi: vēlams gandrīz katrā gadījumā izmantot klasi.
Tas nozīmē, ka ID atribūtiem ir vairākas vērtīgas izmantošanas iespējas ārpus CSS:
- Nodrošinot unikālus āķus JavaScript
- Elementus ar
id
atribūtiem var mērķēt ar enkura tagiem,href
atribūtu iestatot uzid
vērtību, kas pievienota ar#
simbolu. Noklikšķinot uz šīs enkura saites, pašreizējā lapa tiks atkārtoti koncentrēta uz atbilstošā elementa elementuid
. To sauc par “fragmenta identifikatoru”. - Patiešām unikāliem HTML elementiem, piemēram, formas elementiem, ID varētu būt noderīgi, piemēram,
label
s uninput
s saistīšanai .
Apskates vietas
- Derīgs
#id
nevar sākties ar skaitli, un tam jābūt vismaz vienas rakstzīmes garam. Liela Unicode daļa ir derīgas rakstzīmesid
. id
atribūti un atlasītāji ir reģistrjutīgi, un tiem precīzi jāatbilst HTML, CSS un JavaScript
Pārlūka atbalsts
Chrome | Safari | Firefox | Opera | IE | Android | iOS |
---|---|---|---|---|---|---|
Jebkurš | Jebkurš | Jebkurš | Jebkurš | Jebkurš | Jebkurš | Jebkurš |