Podpora :lang()

V roce 2016 už tento článek nemá žádnou hodnotu, Opera už se nehackuje.

Potřeboval jsem CSS hack, kterým bych napsal deklaraci

Možná jsem hledal špatně, ale hledal jsem dlouho a nic jsem nenašel. Mozilla i Opera 7 jsou v podpoře CSS tak dobré a tak daleko, že je skoro problém najít rozdíl v tom, jak vykreslují a počítají. Když se ale rozdíl najde (počítání šířek dětí elementu <body s nějakým margin> ), je zase problém v zápisu oba prohlížeče rozlišit. Oba totiž podporují (narozdíl od Exploreru) asi všechny selektory CSS2.

Nakonec jsem si všimnul, že moje Opera 7.01 pro Windows nerozumí zápisu pseudotřídy element:lang(jazyk) Explorer 6 tomu samozřejmě nerozumí taky. Takže když mám třeba

<div lang="cs">Nějaký oddíl</div>,

tak stylopis

div:lang(cs) {color: red}

udělá ten "Nějaký oddíl" v Mozille červený a v Opeře a Exploreru ne.

Super! Vlastně -- je to super? Ani ne. Protože jak se bude časem zlepšovat podpora CSS a možných selektorů, tenhle hack bude vyvádět dost šílené věci. A taky nevim, co to udělá v Konqueroru. No ale zatím to budu testovat a nevylučuji, že to občas bude hodit.

Doplněno: Podle knížky CSS od Marka Prokopa je :lang podporován i v IE 5/Mac.

Martin Snížek mi v tu samou dobu psal e-mail, cituji:

...chtěl bych jen připomenout, že pseudotřídu :lang() umí IE5+/Mac, takže bacha na to :-) Spíš bych to ani nepoužíval, protože časem se to naučí všichni a hack bude kontraproduktivní :-) (Martin Snížek, e-mail Lang(), 9. 4.)

Tento článek je původně z weblogu

 

Reklama

www.webhosting-c4.cz, webhosting s doménou v ceně. 20GB
o tvorbě, údržbě a zlepšování internetových stránek

Návody HTML CSS JavaScript Články Ostatní

Články Katalog zdrojů SEM SEO

Jak psát web píše Yuhů, Dušan Janovský. Kontakt.