Tento blog je v současné době uzavřen.
Pokračování blogu na bloguje.cz jsem zrušil. Pokud budu někdy pokračovat, bude to spíš tady.
Že by (mně) neznámý bug? A je to vůbec bug?
V příspěvku Nalepte si známku na web jsem si naběhl - nevyzkoušel jsem si, zda efekt se zoubkovaným okrajem funguje v IE. Začal jsem to zkoumat a zjistil, že se IE i ve standardním módu verze 6.0 chová v tomto jinak než moderní prohlížeče a k tomu ne zcela důsledně.
Co se stane, když se ve stylopisu zadá nějaká barva pro pozadí (background) a styl okraje dotted nebo dashed? Jakou barvou se mají vykreslit úseky okraje mezi jednotlivými tečkami nebo čárkami?
Specifikace CSS je trochu záhadná:
Ale znamená to, že okraj překrývá pozadí, nebo ne?
Tvůrci moderních prohlížečů se rozhodli, že pozadí bude do okraje zasahovat (tj. okraj bude pozadí překrývat). Zato u IE 5.5 a dokonce i 6.0 ve standardním módu záleží na tom, zda má prvek nastavenou šířku pomocí width. U prvku s nastavenou šířkou pozadí nezasahuje do okraje, kdežto u prvku bez zadané šířky již zasahuje.
Z toho vyplývá snadná možnost nápravy pomocí tzv. matrjošky – u prvku nenastavíme šířku a vnoříme ho do dalšího prvku, u něhož šířku již nastavíme. (Můžete si prohlédnout příklad.)
To ale stále není odpověď na původní otázku. Je to chyba, nebo ne? A pokud ano, pak čí? Upřímně řečeno, jakkoliv nejsem fanda IE, v tomto případě se mi zdá logičtější okraj do pozadí nezahrnovat. Co si myslíte vy?
Další články si můžete vyhledat v jednotlivých přihrádkách, případně podle data.
© Honza Hučín 2004–6
Šuplík běží na PIPNI.CZ. Díky!
8. 8. 16:48 | Pepa
7. 8. 21:26 | Honza Hučín
7. 8. 21:02 | Honza
6. 8. 14:29 | Pepa
3. 8. 18:29 | Honza
*1967, absolvent MFF UK v Praze (1991)
statistik, analytik, programátor, učitel, hudebník