Neděle 6. 6. 2004 (16:28)
Počítače, internet, IT
Microsoft opravuje chybu v IE, ale dělá chybu
Trošku matoucí jméno zápisku, že? Pokusím se to vysvětlit. #lama píše, že SP2 pro Internet Explorer 6 přinese opravu špatného počítání box-modelu. Otázkou pro mě je, jestli by však špatné počítání box-modelu nemělo být naopak standardizováno. Minimálně v rámci IE. Opravou jedné chyby způsobí Microsoft nepříjemnosti většině správcům a autorům webů. V nejlepším případě bude stačit přestylovat a vyhodit matrjošky. Trošku horší to budou mít ti, co nutili Gecko špatně počítat box-model tímto zápisem * {-moz-box-sizing: border-box} ve stylopisu. Ti budou muset tento zápis vyhodit a pro změnu předělat styl tak, aby se např. absolutně pozicovaný design nerozhodil při správném počítání box-modelu. Až sem je to pořád relativní brnkačka - tedy pokud nebudete muset platit nějaké webdesignerské firmě za přestylování, když to sami neumíte.A teď je tu kámen úrazu. Spíše pořádný šutrák. Bude ihned každý aktualizovat IE6SP1 na IE6SP2? Proslýchá se, že IE6SP2 půjde nainstalovat pouze na Windows 2000/XP a tak Windows 98/Me budou odříznuta. Může to také znamenat, že tu bude zastoupení jak IE6SP1 (ti, co nechtějí/neumějí/nemohou updatovat), tak IE6SP2. A co teď? Jediným řešením, které mě napadá, je použít matrjošku. Pokud nepřinese IE6SP2 nějaký nový nástroj na matrjoškování, tak jsme ale .... víte kde, že?! Nemusí přinášet nic nového, stačilo by možná vyhodit „podporu“ nějaké staré matrjošky (např.
_vlastnost: nastaveni; nebo vlastnost="nastaveni").Dalším možným řešením je větvení přes skript (v JavaScriptu třeba využít
parseInt(navigator.appVersion)). Ale to by se nesměl IE6SP2 hlásit jako verze 4, protože všechny vyšší verze (5, 5.5 a 6) se mi tak hlásí.Znáte jiné řešení? Pošlete komentář, rád jej zveřejním.
Reagoval rony: CSS je iste doporucenie, ktore je vhodne skor zjednocovat ako uzakonovat vynimku ako pravidlo. Jasne, ze tvoje tvrdenie je pritazlive avsak zahrna v sebe skor tu cestu do pekla dlazdenu dobrymi umyslami. Koniec koncov, IE6 uz priniesla v box modeli razantnu zmenu, ktora sposobila, ze webdesign sa zacal delit na stranky este dobre v IE5.x a zle chodiace v IE6 (pripadne naopak) pretoze rozdelil renderovanie podla hlavicky dokumentu. Ak je nadej, ze zaplata opravi renderovacie jadro, je to len dobre. Tak alebo onak sa chyba box modelu prejavovala prave u layoutov pisanych v CSS, co uz pisu zvacsa rozumni autori - existencia matrjosky v IE ci zaplatovanom alebo nie stranky nerozbije takze nie je co vahat. Proste len casom zrejme na matrosku zabudneme. A to vyznam ma vacsi ako Macichov napad nechat zakysnutych webmajstrov v oslneni prevahou IE ;-)
Má odpověď: V zásadě proti správnému počítání box-modelu vůbec nic nemám. Alespoň bych mohl s klidem zapomenout na matrjošky, ale jak jsem napsal, problém je, že tu bude stále dost starých verzi IE (protože IE6SP2 nemusí být k dostání pro Win98/Me) a způsob, jak snadno rozlišit IE6SP1 a nižší verze (se špatným počítáním box-modelu) a IE6SP2 (se správným počítáním box-modelu) mi uniká. To je to jediné, co mi vadí. Ale to jsem napsal už v zápisku ;-)
Reagoval dgx: Realita je takový, že správný box-sizing má IE od verze 6. Tedy i bez service packů :-) Takže zbývá odfiltrovat starší verze. To leze buď matrjoškou, ale jelikož jsem její skalní odpůrce, poradím jinou cestu:
div {padding: 10px; width: 100px; /* toto baští každý IE */
widt\h: 80px; /* toto zbaští jen IE 6 */
tedy pro IE 6 se nastaví width na 80px, a celý div má 80px + 2 * 10px (padding) = 100px, a pro IE < 6 má celý div šířku také 100px danou už vlastností width.SLEDOVAT ZMĚNY | VYTISKNOUT | Podělte se o odkaz na linkuj.cz nebo del.icio.us
Stálý odkaz (permalink): Stálá adresa tohoto zápisku je http://blog.macich.net/1086539280-microsoft-opravuje-chybu-v-ie-ale-dela-chybu.html (pro IE: vložit do schránky | přidat k oblíbeným). Chcete-li na zápisek odkázat, použijte ji.
Další zápisky: Následujícím zápiskem je spot Microsoft má nový patent do sbírky Předešlým zápiskem je spot Blogování z mobilu s Blog:CMS Další pak naleznete při navigaci z hlavní stránky. Můžete se také podívat na seznam všech zápisků.
Aktuální místo vašeho pobytu: Macich.NET » Blog počítačového nadšence » Počítače, internet, IT » Microsoft opravuje chybu v IE, ale dělá chybu
