Tak už je to tady! Markus Mielke na IEblogu varuje před používáním některých CSS hacků na stránkách a to z jednoho prostého důvodu – MSIE 7 je nebude podporovat.
Tedy spíše apeluje na to, aby vývojáři přepsali tyto své konstrukce, jinak se jejich stránky budou špatně zobrazovat v novém prohlížeči Microsoft Internet Explorer 7 (pokud hacky používáte v QUIRK módu, pak se nemusíte bát, ten by měl být zpětně kompatibilní).
Jedná se zejména o následující hacky:
html > body
* html
head:first-child + body
head + body
body > element
Jedním z možných řešení je používat podmíněné komentáře:
<!--[if IE 5]>
HTML kód pro MSIE5 (např. include stylu pro MSIE)
<![endif]-->
Já osobně jsem se vždy snažil hackům vyhnout a doposud jsem jej nemusel použít (vždy jsem si našel jiný způsob, jak docílit téhož), takže mi tato novinka práci nepřidala. A co vy, jak jste na tom?
Zdroj: Call to action: The demise of CSS hacks and broken pages
Komentáře
„MSIE 7 je nebude podporovat“ – a právě proto je vhodné tyto hacky používat, MSIE 7 bude implementovat správně CSS, a nebude obsahovat ani chyby v * html, takže se pro něj bude dát psát stejně jako pro Operu a Firefox, a ony hacky tam dále budou pro MSIE 6 a nižší ;-)
— rADo 13 10 2005 - 13:20 #
PS: pokud nepoužíváš hacky, znamená to, že umíš jen základy CSS, já ale používám třeba #divcomments h3+ol>li>p>span:first-child ;-) a to MSIE fakt nezkousne, a je nutno mu hackem * html dát ořezanější verzi
— rADo 13 10 2005 - 13:21 #
Ja bych rekl, ze nepouzivani hacku muze znamenat dve veci: 1] nedostal se jeste do streniho stadia znalosti 2] prekrocil stredni stadium znalosti
faktem je, ze hacky jsou dost cesta do pekel. Pouzil jsem je pouze z donuceni „zadavatelem“, a byly jednim z duvodu, proc jsem dal s usmevem na rtech html+cssku sbohem a resim v radeji jine veci.
— Llaik 13 10 2005 - 13:55 #
@Llaik – psát bez hacků znamená psát na úrovni MSIE 6. Pokud chci pro Firefox a Operu a MSIE 7 lepší web, hacky jsou nutnost. Pokud to nechci, hacky používat nemusím. Kdo zná CSS na úrovni MSIE 6, hacky nepoužívá, protože nemá dovůd ;-)
— rADo 13 10 2005 - 13:57 #
No, rADo, to to trochu zjednodušuješ. Například hack proti peekabo bugu musíš občas udělat, i když žádnou vychytávku pro Operu/Firefox nepotřebuješ. O Matrjoškách ani nemluvě.
— David Špinar 13 10 2005 - 14:01 #
[1] Tím že nebude podporovat hacky jsem měl na mysli to, že bude ony zmíněné pravidla interpretovat – což je ta změna, která může způsobit rozhození designu celé stránky – viz příklad ve zmíněném citovaném článku
[2] no s touto implikací jsi trochu mimo.
— Petr Václavek 13 10 2005 - 14:05 #
hm. jestli se nepletu, tak je to porad placani do vody, protoze nikdo nevi presne, jake veci a za jakych podminek budou podporovane. coz je docela na pytel.
[2] a o tom to je. co kdyz IE 7 bude umet tuhle posloupnost na vybornou, ale kvuli hacku dostane orezanou verzi (nebo nedejboze naopak)?:(
diky za pekny clanek, resp. upozorneni
— shubin 13 10 2005 - 22:28 #
Pripada mi, ze sa okolo toho na internete strhol trochu velky povyk. Staci predsa styly pre IE6 a nizsie pripajat cez podmienene komentare a mate to uplne pod kontrolou. Samozrejme hacky v hlavnom CSS, ktore predpokladaju, ze IE momentalne nepozna nejaky inak regularny selektor, su blbost.
Podla mna ale bez hackov pre IE6 a nizsie to ide len malokedy. Ako inak napr. zjednotit rozdielny box model v starych verziach IE. Matrioska je podla mna hlupost, naco mat v HTML nadbytocne prvky, ked to mozem jednoducho hacknut.
— Ľuboš Kmeťko 14 10 2005 - 11:46 #
rADo to vystihol v prvom komentari – rozhodený dizajn by nastal len v tom pripade, ak by IE7 poznal dany selektor/hack, ale stale by tie opravovane veci implementoval inak ako FF alebo Opera. To bude asi len vo velmi specifickych pripadoch, akym je aj ten priklad v clanku. Kazdopadne – podmienene komentare a ste za vodou.
— Ľuboš Kmeťko 14 10 2005 - 12:12 #
Podminene komentare jsou v pohode, pouzivam je temer od zacatku. Spis by mne zajimalo, jak budu testovat, jak se zobrazuje stranka v IE7 a jak v IE6? Nemuzu preci pokazde IE7 odinstalovavat, abych ji optimalizoval pro IE6. Navic ted uz budu muset pouzivat 4 CSS soubory, nejmene 3. A to bude optimalizace jen pro operu, gecka a iecka..
— Tondys 2 02 2006 - 07:11 #
No ja myslím, že to nějak půjde. Vyzkoušejte ten samý fígl, co platil na instalaci více verzí MSIE – viz článek Multiple MSIE
Mohlo by to tak fungovat i s MSIE 6 a 7. Osobně jsem ještě sedmičku nezkoušel, ale brzy se na ni vrhnu.
— Petr Václavek 2 02 2006 - 09:56 #
No je to sice už dávno offtopic diskuze, ale co tady někteří „taky webdesignéři“ píšou to mi hlava nebere. Ke každému cíli vede spousta cest a jen pokud jste lopaty tak Vás to nutí používat hacky (ano je to jednodušší cesta a u třeba u peekaboo ani nic jiného nezbývá, ale naštěstí řešení je plně validní). A tvrdit, že je někdo neznalý, když hacky nepoužívá je asi jako tvrdit, že kdo nechodil do mateřské školky nevystuduje vysokou. Spousta hacků se dá obejít aby byl dokument nejen (X)HTML ale i CSS validní. Takoví diskutují ve stylu „já jsem ten nejlepší a na mě nemáš“ mě opravdu vždy rozesmějí, většinou neuměj zdaleka tolik jak se tváří a píšou stylem copy & paste. Jojo takových mám i kolem sebe hodně a 95% diskutujících tady jsou „taky webdesignéři“.
Takže opravdu ze srdce přeji spousty nových hloupých klientů, které zahrnete svými dokonalými weby.
— qqq 28 04 2007 - 17:38 #