O chybách a nekoretkním chování CSS stylů v prohlížečích od Microsoftu byly napsány již kilometry textu. Ovšem jak je na tom největší konkurence Internet Exploreru, tedy prohlížeč Mozilla Firefox? O jeho chybách toho příliš mnoho napsáno nebylo. Hlavní důvod je ten, že autoři prohlížeče vždy odvedli skvělou práci a vyvarovali se chyb.
Přesto se však nějaké drobné chybky vyskytují a v následujícím článku si o nich něco blíže povíme.
Chybné chování vlastnosti orámování (outline)
V prohlížeči Firefox 3.X se nesprávně interpretuje vlastnost overflow u prvku, který má v sobě objekt s většími rozměry. Správne by se mělo orámování týkat jen objektu s nastaveným“outline“ a nemělo by se natáhnout podle vnořeného přetékajícího objektu. Osobně tuto vlastnost neshledám za nějak extra praktickou a tuhle mouchu bych autorům odpustil.
Mezery mezi inlinovými elementy (word-spacing)
Firefox 3.X špatně zobrazuje nastavené mezery mezi inlinnovými elementy. Nastavím-li odstavci zápornou mezeru mezi slovy a do tohoto odstavce dáme 3 tagy span, mezera mezi nimi se bude interpretovat jako nulová. Tento problém může u designů, které počítají s upravenými mezerami mezi slovy, webmasterům způsobit komplikace. Z osobních zkušeností však myslím, že takových designů je opravdu málo a za dobu co tvořím weby, bych je spočítal na prstech jedné ruky.
Podtržení textu u floatovaných potomků (text-decoration)
Pokud máme na stránce klasický odkaz pomocí tagu a do něj vnoříme např. Tento prvek pak potřebujeme „přirazit“ (floatovat) vlevo. Správná interpretace je taková, že pokud mám prvek, který je podtržený a vložím do něj prvek, který floatuju tak toto podtřžení se u floatovaného prvku neprojeví. Problém se dá docela snadno vyřešit konstrukcí a span { text-decoration:none; }, případně a:hover span { text-decoration: none; }.
Zalamování prvků na konci stránky (page-break)
Tuto vlastnost využije většina z nás v případě stylování tiskové verze stránek. Při stylování tiskové verze může být požadavek, aby některé elementy (tabulka, seznamy) nebyly rozděleny na více stránek. Pro tento případ je možno použit zápis page-break-inside:avoid. Zápis u daného elementu způsobí, že pokud se nevejde na stránku, tak se odstránkuje a začne se zobrazovat na další stránce. Firefox ovšem toto ignoruje a klidně si rozdělí element na více stránek.
Shrnutí a závěr
V tomto článku jsem se pokusil popsat „některé“ z chyb, které se ve firefoxu vyskytují. Jistě jich ve skutečnosti je více, o tom není pochyb. Z mého pohledu se ve většině případů nejdená o nějak základní chyby. Když vemu např. problém s interpretaci PNG24 v IE, tak uvedené chyby ve Firefoxu mi pak přijdou jako hlouposti. Firefox dle mne stále držší laťku nejvýše, co se týče správnosti interpretace stylů. To, že dle mého názoru zabírá neúměrně paměti a systémových prostředků je zase věc jiná. Jsem zvědavý jak se prosadí v budoucnu Google Chrome, který v tomto směru Firefox válcuje. Ale to už je téma na jiný článek, takže zase někdy příště.