#id
Selektorius leidžia nukreipti elementas su nuoroda į id
HTML atributas. Panašiai kaip tai, kaip klasės atributai CSS žymimi „tašku“ ( .
) prieš klasės pavadinimą, ID atributai priešais dedami su „octothorpe“ ( #
), dažniausiai vadinamu „hash“ arba „pound sign“.
#header ( /* this is the ID selector */ background: #eee; )
ID atributo vertės turėtų būti unikalios. HTML su dviem ar daugiau vienodų id
s nepatvirtina ir duos nenuspėjamų rezultatų. Jei yra du vienodi, CSS vis tiek atitiks ir stilius. Tačiau „JavaScript“, pateikdamas užklausą dėl ID, suras pirmąjį ir sustos.
ID selektoriai yra labai galingi. Jie turi labai aukštą specifiškumą, paprastai užrašomi (0, 1, 0, 0). Su jais taikomi stiliai pakeičia kitus selektorius, kurie naudoja tik žymas ar klases. Demonstruoti:
Patikrinkite šį rašiklį!
Pateikiama pastraipa su ID ir klasės atributu, prieštaraujančia CSS taisyklėms; Nors klasės selektorius ( .reusable
) #unique
CSS yra žemiau ID selektoriaus ( ) (jis paprastai pakeis virš jo esančius stilius „kaskadoje“), pastraipa lieka raudona, nes #unique
užgožia nustatytą mėlyną spalvą .reusable
. Be galo daug klasių niekada negali įveikti ID specifiškumo (nors vienu metu buvo klaida, kai 256 klasės įveikė ID).
Didelė specifika ir unikalumas reiškia, kad naudojimas #id
yra CSS „branduolinė galimybė“: pernelyg galinga, nelanksti ir neproporcingai efektyvi. #id
Geriausia praktika yra vengti selektoriaus CSS: beveik kiekvienu atveju geriau naudoti klasę.
Tai sakant, ID atributai turi keletą vertingų naudojimo būdų ne CSS:
- Pateikdami unikalius „JavaScript“ kablius
- Elementai su
id
atributais gali būti taikomi pagal inkaro žymas, nustatanthref
atributąid
vertei, prieš kurią nurodomas#
simbolis. Spustelėjus tą inkaro nuorodą, dabartinis puslapis bus iš naujo sutelktas į elementą, kuriame yra atitikimasid
. Tai vadinama „fragmento identifikatoriumi“. - Tikrai unikaliems HTML elementams, pvz., Formos elementams, ID gali būti naudingi tokiems dalykams kaip, pavyzdžiui,
label
s irinput
s susiejimas .
Lankytinos vietos
- Tinkamas
#id
negali prasidėti skaičiumi ir turi būti bent vieno simbolio ilgio. Didelė „Unicode“ dalis yra tinkami simboliaiid
. id
atributai ir parinkikliai skiria didžiosios ir mažosios raidės ir turi tiksliai atitikti HTML, CSS ir „JavaScript“
Naršyklės palaikymas
„Chrome“ | „Safari“ | „Firefox“ | Opera | T.Y | „Android“ | „iOS“ |
---|---|---|---|---|---|---|
Bet koks | Bet koks | Bet koks | Bet koks | Bet koks | Bet koks | Bet koks |