Setkal jsem se s tím, když jsem psal rozsáhlejší dokument, ve
kterém jsem tu a tam míchal češtinu a angličtinu. Vytvořil jsem si sadu
tříd pro stylování, ale i tak jsem zjistil, že některé elementy
spadající do stejné třídy, chci stylovat jinak, když je jejich obsah
česky, a jinak, když je anglicky. Samozřejmě mě napadlo použít pro mě
jinak stále trochu záhadný atribut lang.
Trochu mě překvapilo, že mi emacs toto nedovolil, žádná záhada se
však nekonala – dokument jsem psal v XHTML 1.1, kde byl již tento
atribut zrušen ve prospěch atributu xml:lang. Použil jsem tedy
tento a vrhl se do stylování (pomocí pseudotřídy :lang). Byl
jsem však poněkud překvapen, že se mi změny neprojevily, vyzkoušel jsem
tedy i jiný prohlížeč než Operu, konkrétně Firefox, a vida, vše
bylo tak, jak mělo být.
Rozhodl jsem se tedy problém prozkoumat pořádněji a zjistil jsem, že
problém není v tom, že by Opera neuměla pseudotřídu
:lang, ale v tom, že si ji nespojí s atributem
xml:lang. Když totiž člověk použije atribut lang,
už je vše v pořádku. Protože jsem chtěl zachovat validitu dokumentu,
ale zároveň jsem potřeboval oněch vizuálních efektů docílit,
downgradoval jsem nakonec jazyk dokumentu na XHTML 1.0 Strict. Musím
říct, že je to po delší době nějaký větší bug v implementaci CSS
v Opeře, který jsem objevil.
Nakonec jsem se ještě rozhodl vytvořit jakousi souhrnnou ukázku, na které lze vyzkoušet, jak si prohlížeče v této problematice stojí. Přijde mi skoro zbytečné zmiňovat, že Internet Explorer je v tomto směru naprosto nepoužitelný.

Sleduj všetky zápisy pomocou RSS
Sleduj všetky komentáre pomocou RSS
Ukážka mi nejde.