Moderní tvorba webových aplikací
O webu

Atributový case-insensitive selektor

Pomocí příznaku i jde zapsat atributový selektor nezávislý na velikosti písmen.

2 minuty

Při stylování HTML pomocí CSS musí odpovídat velikosti písmen v HTML atributu a CSS selektoru.

Element <div class="trida"> jde zaměřit selektorem .trida, ale už ne třeba přes .TRIDA. Toto chování jde v případě atributového selektoru změnit:

div[class="TrIdA" i] {
  /* styly */
}

Výše uvedené styly se v podporovaných prohlížečích aplikují na <div class="trida">, <div class="TRIDA"> a podobně.

Živá ukázka

Podpora v prohlížečích

Příznak i začaly podporovat prohlížeče Chrome 49 a Opera 36.

Zpětná kompatibilita

V nepodporovaných prohlížečích se tato konstrukce chová jako syntaktická chyba a celá deklarace se zahodí. Vše se zahodí i v případě, že se k selektoru napíše něco podporovaného:

div[class="TRIda" i],
.trida {
    color: red;
}

Ani v tomto případě nebude mít <div class="trida"> červenou barvu.

Využití

Na první pohled se nezávislost na velikosti písmen u atributového selektoru zdá jako poměrně nepotřebná věc. Těžko najít důvod proč by dodržování jednotné velikosti písmen bylo problematické.

V případě jednoduchého vyhledávání/filtrování dat v CSS, kdy jsou klíčová slova v data-* atributu a filtruje se pomocí CSS selektoru, může ale příznak i usnadnit trochu práce:

[data-slova*="fytopuf" i]

Výše uvedený selektor zaměří element:

<span data-slova="Fytopuf je nejlepší">

A stejně tak i:

<span data-slova="Kupte si fytopuf">

Hack

Druhá možnost je hackování chování prohlížečů. K selektoru s i jde uvést pravidla, která budou nepodporované prohlížeče ignorovat.

Co si myslíte o tomto článku?

Diskuse

Související články

CSS item-pack: balance – vyvážené rozložení flex položek

Vlastnost item-pack: balance rozděluje flex položky rovnoměrně mezi řádky, podobně jako text-wrap: balance vyvažuje řádky textu.

11 minut

CSS Container Queries – responsivní komponenty

Jak pomocí @container, container-type a container-name vytvářet komponenty, které se přizpůsobí velikosti svého rodiče místo viewportu.

16 minut

CSS Anchor Positioning – posicování elementů relativně k jiným

Jak pomocí anchor-name, position-anchor a funkce anchor() posicovat elementy relativně k jiným bez JavaScriptu.

6 minut

Centrování na webových stránkách

Moderní způsoby vertikálního i horizontálního centrování v CSS. Flexbox, Grid, margin auto a další techniky.

8 minut

Novinky e-mailem

Když budu mít něco opravdu zajímavého, můžu vám to poslat e-mailem

Přidej se k 500+ čtenářům
Jen kvalitní obsah
Žádný spam

Web jecas.cz píše Bohumil Jahoda, kontakt
Seznam všech článků · Témata · Zkratky
2013–2026