#id
Volič umožňuje cílit element odkazem na id
atribut HTML. Podobně jako u atributů tříd jsou v CSS označeny tečkou ( .
) před názvem třídy, před atributy ID je předpona „octothorpe“ ( #
), běžněji označovaná jako „hash“ nebo „znak libry“.
#header ( /* this is the ID selector */ background: #eee; )
Hodnoty atributů ID by měly být jedinečné. HTML se dvěma nebo více identickými id
s se nevaliduje a přinese nepředvídatelné výsledky. Pokud existují dva stejné, CSS bude stále odpovídat a stylovat oba. JavaScript však při dotazování na ID najde první a zastaví se.
ID selektory jsou extrémně výkonné. Mají velmi vysokou specifičnost, obvykle psanou jako (0, 1, 0, 0). Styly platí s nimi přepsat jiné selektory, které používají pouze značky nebo třídy. Předvést:
Podívejte se na toto pero!
Odstavec s atributem ID i třídy je uveden v rozporu s pravidly CSS; i když je selektor třídy .reusable
( #unique
) v CSS pod selektorem ID ( ) (obecně by v „kaskádě“ přepisoval styly nad ním), odstavec zůstane červený, protože #unique
přemůže modrou barvu, kterou nastavuje .reusable
. Nekonečné množství tříd nikdy nemůže porazit specifičnost ID (i když v té době došlo k chybě, kdy 256 tříd porazilo ID).
Vysoká specifičnost a jedinečnost znamenají použití #id
„jaderné možnosti“ CSS: nadměrně napájené, nepružné a nepřiměřeně účinné. Vyhýbání se #id
selektoru v CSS je považováno za osvědčený postup: téměř v každém případě je lepší použít třídu.
Atributy ID mají mimo CSS několik cenných využití:
- Poskytování jedinečných háčků pro JavaScript
- Na prvky s
id
atributy lze cílit pomocí značek ukotvení, nastavenímhref
atributu naid
hodnotu předponu#
symbolu. Kliknutím na tento kotevní odkaz znovu zaostříte aktuální stránku na prvek s odpovídajícímid
. Tento jev se nazývá „identifikátor fragmentu“. - U skutečně jedinečných prvků ve vašem HTML, jako jsou prvky formulářů, by ID mohla být užitečná například pro propojení
label
s ainput
s.
Body zájmu
- Platný
#id
nemůže začínat číslem a musí mít alespoň jeden znak. Velká část Unicode jsou platné znaky vid
. id
atributy a selektory rozlišují velká a malá písmena a musí se přesně shodovat v HTML, CSS a JavaScriptu
Podpora prohlížeče
Chrome | Safari | Firefox | Opera | TJ | Android | iOS |
---|---|---|---|---|---|---|
Žádný | Žádný | Žádný | Žádný | Žádný | Žádný | Žádný |