Tip: Jan Bien: kódování www stránek (HTML, XHTML, CSS)


Pokročilé CSS v IE

Dean Edwards vyvíjí jednoduché řešení, které by webdesignerům umožnilo využívat pokročilých CSS vymožeností v Internet Exploreru. Na stránce s přízvučným názvem IE7 { css2: auto; } se dočtete o vývoji řešení, které umožní vývojářům www stránek používat pokročilé CSS selektory a opraví některé chyby při vykreslování dokumentu. Škoda jen, že není podporována pětková verze IE, ale jen 5.5 a 6. (Tip: Adam Hauner)

Celé to funguje na principu scriptování na straně klienta (rozuměj prohlížeče). Autor dokumentu připojí k dokumentu speciální kaskádový styl, který napojuje dokument na další externí soubory se speciálními DHTML událostmi. Tyto DHTML události dynamicky bez vědomí uživatele zpracovávají HTML dokument a CSS deklarace tak, aby byly nepodporované techniky nahrazeny technikami podporovanými a špatně implementované vlastnosti zpracovány správně.

Podobnou problematikou se již zabýval Martin Kopta. Jeho nástroj PowerPend lze s výhodou použít např. na opravu IE chyby s interpretací prvku abbr.

Já osobně do těchto řešení příliš velké naděje nevkládám, jelikož:

  1. Je třeba, aby měli uživatelé povoleno scriptování.
  2. Zpracování rozsáhlejšího dokumentu regulárními výrazy významně spotřebovává procesorový čas, čímž se může stát dokument nepoužitelným.

Související:

Komentáře

1. dgx – 11. března 2004, 01:50

Cokoliv, co se spoléhá na scriptování, mi bylo vždycky podezřelé (snad s výjimkou ActionScriptu, protože ten nelze vypnout). A pokud to navíc nepodporuje IE 5.0, který tady s námi ještě nějakou dobu bude, pak je takové řešení nepoužitelné.

Z praxe se mi ukázalo, že nejlepší je prostě problémy prohlížečů vs. CSS přijmout, brát je jako nutné zlo. Snažit se, aby soubory HTML byly kvůli nim poznamenány co nejméně, a raději hackovat v CSS, ale i tady v co nejmenší míře.

2. Yuhů – 11. března 2004, 15:22

To řešení je celkem pěkné, ale má právě dvě naprosto podstatné vady.

  1. Všechny vychytávky jsou k dispozici až ve chvíli, kdy se natáhne dokument. Událost je totiž vázána na akci: <attach event="oncontentready" ...>
  2. Načítaná htc komponenta je dost velká.

Co se teorie týká, dovolil bych si odkázat na svůj někdejší článek Přiřazení skriptu stylem (Interval.cz).

3. radek o'blog – 11. března 2004, 21:44

No, on IE5.0 sice ještě zcela ignorovat nejde, má tak 5-10%, podle typu stránky, ale zase toto řešení umožní používat MNOHEM více z CSS 2.0 (3.0), než je dosud možné. Nebránil bych se tomu. A pro IE5.0 se dá nabídnout "ořezaná verze". Jen je potřeba se naučit pár selektorů "navíc" ;)

4. dgx – 11. března 2004, 23:27

To Yuhů: Velice pěkný článek, ani jsem nevěděl že na Intervalu je

To radek o'blog: To rozpětí zaznamenávám ještě větší, od 2% na webu zaměřeném na webdesign až po 19% na stránce hudební kapely. Ale co je ještě podstatnější: IE 5.0 mi ve všech statistikách vítězí nad IE 5.5. Asi to bude tím, že 5.0 se instaluje s operačním systémem, a kdo upgradnul na 5.5, upgradnul později i na 6.

5. Vilém Málek – 12. března 2004, 19:40

Pozor, při použití této techniky vzniká nebezpečí konfliktu s jiným trikem – uživatelem definovanými styly!

Pokud totiž webdesigner spoléhá na hackovaný CSS, využívající neumětelství MSIE, může mu návštěvník, nadšený možnostmi HTC, udělat čáru přes rozpočet. Buď použitím vlastního stylu pro jeho stránku nebo, z touhy po vyšším komfortu, použitím speciálního rozšiřujícího stylu pro všechny stránky …

Váš komentář

K článku nelze připojit komentář, Mraveniště bylo zakonzerováno.


Copyright © Jan Bien.
W3C XHTML 1.0  | W3C CSS 2  | UAW adaptive  | Geo URL  | RDF RSS