10. 10. 2005 v sekci webdesign:

Podtrhnout či nepodtrhnout?

Toť otázka. Doposud jsem používal pro veškeré činnosti spojené s hackováním IE podtržítkový hack. Podtržítkový hack je sice dle specifikace validní, ale validátoru se zrovna dvakrát nelíbí. Validnější alternativy Doposud jsem znal a v omezené míře i používal validní alternativu podržítkového hacku, selektor html>body, který IE ignoruje. Tato konstrukce je dle specifikace CSS naprosto v pořádku, její hlavní nevýhoda je […]

Toť otázka. Doposud jsem používal pro veškeré činnosti spojené s hackováním IE podtržítkový hack. Podtržítkový hack je sice dle specifikace validní, ale validátoru se zrovna dvakrát nelíbí.

Validnější alternativy

Doposud jsem znal a v omezené míře i používal validní alternativu podržítkového hacku, selektor html>body, který IE ignoruje. Tato konstrukce je dle specifikace CSS naprosto v pořádku, její hlavní nevýhoda je v tom, že by ji IE7+ mohl někdy v budoucnu začít interpretovat, leč původní chyby by v něm zůstaly (zpětná kompatibilita musí být :-)).

* html

Včera jsem na blogu WELL.DONE narazil na hack * html. Tento selektor není nikdy splněn (proto ho Mozilla i Opera ignorují a ignorovat budou i nadále), zato IE ho s klidem interpretuje. Je sice možné, že si v budoucnu vývojáři IE vzpomenou i na tuto chybu, ale asi bych ji na seznamu bugů hledal později než selektor html>body.

Výhodou selektoru * html je, že je validní. Jeho nevýhodou oproti podtržítkovému hacku je fakt, že potřebujete další deklaraci jen pro IE (s podtržítkovým hackem stačilo změnit jednu hodnotu v deklaraci).

Dodatek – hacky v praxi

Všechny následující techniky způsobí modrou barvu textu v IE, červenou barvu v ostatních prohlížečích.

p {color: red;_color: blue;}

p {color: blue}
html>body p {color: red}

p {color: red}
* html p {color: blue}

Komentáře

10. 10. 05, 06.51

Ja používam * html hack už asi jeden rok a zatial sa mi osvečil. Ak nepotrebuješ na 100% validné CSS tak podtržítkový hack je úplne postačujúci a ak siahaš po validite za každú cenu tak * html je na to super.

2. rADo
10. 10. 05, 07.51

Vtip je i v přehlednost, podle mého názoru je [* html] podstatně přehlednější než vše patlat do jedné definice..

10. 10. 05, 08.08

Kdysi se o validitě podtržítkového hacku vedly dlouhé disputace a většina profesionálů se připklonila k názoru, že podtžítkový hack JE validní, jen onen zmíněný validátor má v sobě malý bug. Já osobně pro ošetření chyb v MSIE využívám oddělený CSS soubor připojený pomocí „komentářů“. Sice jde o jeden request navíc, ale když je jich na stránce 50, tak už se jeden ztratí.

A nakonec: Je jedno co kdo používá, hlavně když ho to dovede ke správnému cíli ;)

10. 10. 05, 10.50

No nevim, ale jeste jsem nenarazil na problem, ktery bych musel resit pomoci CSS hacku. Vzdy to slo obejit jinak – cisteji – bez hackovani.

5. Daniel Srb ben Abraham
10. 10. 05, 12.11

Me osobne se zda nejpraktictejsi pouzivani extra stylesheetu pro IE, nacitanem pres podmineny komentar; proc mam slusnym prohlizecum cpat nejaky IE balast?

[4] Petre, to Vam zavidim. Opravdu. Muzete prihodit nejaky link na rozsahlejsi web z Vasi dilny? Nektere bugy IE dle me neobejdete, leda byste proste problematicky prvek vypustil.

10. 10. 05, 13.12

* html nebude v IE7 (standard mode)fungovat. Tahle věc už je opravena. To je myslím dobrá zpráva. :)

10. 10. 05, 13.17

[5]
Zkuste si vybrat neco z mych referenci, ale predem upozornuji, ze starsi kousky jsou tabulkoidni a i ten kod u nic neni zcela idealni…

Asi nejrozsahlejsi z posledni doby je Beetle Tour.

Ja vim, uvedene weby nejsou zrovna nejak moc komplikovane a rozsahle. Takze jeste odkaz na jeden web, co jsem tvoril ve skutecne praci – a ne doma po vecerech: Highland Search

10. 10. 05, 13.18

Nejak jsem zkomolil odkaz, takze znovu: Moje reference

10. 10. 05, 18.35

„asi bych ji na seznamu bugů hledal později než selektor html>body“ – Nikoliv. Obojí bude napraveno v naprosto stejném horizontu. Tuším, že jsem o tom kdysi něco psal.

13. 10. 05, 11.50

Tak už je to tady, hacky nebudou v MSIE moc dobře podporovány: IE7 a problémy s CSS hacky

13. 10. 05, 21.20

[3] Většina profesionálů podtržítkový hack za validní považuje (považovala), jde ovšem výhradně o většinu profesionálů v Čechách, kteří si pojem „validita“ vysvětlili po svém a v rozporu s originálem – a když se toto jaksi „provalilo“, snažili se bazírovat na jedné části CSS2.1, kterou opět překládali ve zjevném rozporu s originálem. Navíc jaksi pozapomněli, že CSS2.1 stále ještě nebyla jako standard schválena, stále jde jen o pracovní návrh…