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
Jak psát web píše Yuhů, Dušan Janovský. Kontakt.