× Aktuálně z oboru

SHIELD Experience Upgrade 7 – méně hledání a více zábavy [ clanek/2018052902-shield-experience-upgrade-7-mene-hledani-a-vice-zabavy/ ]
Celá zprávička [ clanek/2018052902-shield-experience-upgrade-7-mene-hledani-a-vice-zabavy/ ]

CSS hacky

[ http://programujte.com/profil/161-ondrej-satera/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/20356-jan-metelka/ ]Google [ ?rel=author ]       20. 1. 2007       39 019×

Hackovat se dá i legálně.

Ten, kdo někdy dělal webové stránky a chtěl, aby jeho výtvor vypadal ve všech prohlížečích stejně, narazil často na problémy. Každý prohlížeč totiž interpretuje kód CSS (HTML také) jinak. Pokud bychom dělali stránky jen pro jeden prohlížeč, byla by práce jednoduchá, ale správný postup to není. Naštestí existuje možnost, jak napsat kód, který ovlivní jen určitý prohlížeč, obecně se tomu říká CSS hack. Některé jsou validní, některé už ne; který je a který není, se dozvíte v mém přehledu.

Podmíněný komentář

Tento prvek rozezná pouze MSIE v jakékoliv verzi. Mozilla (Firefox) ho nepřečte. Základní kód může vypadat takto:

<!--[if IE 5]>
Prohlížeč je IE 5
<![endif]-->

<![if ! IE 5]>
Prohlížeč není IE 5
<![endif]>

Když mezi tyto podmínky vložíte nějaký HTML kód, tak se zobrazí pouze ve zmíněném prohlížeči. Použít se dají samozřejmě všechny verze prohlížeče MSIE:

Verze prohlížeče Zápis
5.0 IE 5
5.5 IE 5.5000
6 IE 6

V podmínce se dají použít i různé operátory:

Zápis Jméno Ukázka Co dělá
! negace <![if ! IE 5]> když neplatí
lt nižší než <![if lt IE 5]> pro verze nižší než IE5
lte menší nebo rovno <![if lte IE 5]> pro verze nižší nebo stejné
gt větší než <![if gt IE 5]> pro verze vyšší než IE5
gte větší nebo rovno <![if gte IE 5]> pro verze vyšší nebo stejné

Ještě je nutné dodat, že tento hack lze použít jen v kódu HTML a ne v zápisu CSS.

Podtržítkový hack

Tento hack se používá v zápisu CSS, narozdíl od předchozího. Slouží k vyloučení Mozilly a MSIE 7, přečte ho tedy jen IE v nižší než sedmé verzi. Zápis vypadá takto:

TABLE {_margin:10px;}

Z tohoto zápisu vyplývá, že v IE bude kolem všech tabulek 10px mezera. Zobrazení ve Firefoxu to nijak neovlivní. Tento hack je ale podle všeho nevalidní [ http://www.mraveniste.org/weblog/2004/10/21-css-valid.html ].

Hack s !important

Další čistě CSS hack, používá se k vyloučení MSIE, přečte ho jen Firefox. Zápis vypadá takto:

TABLE {margin:10px !important;}

Tabulka bude mít v Mozille kolem sebe 10px mezeru, zobrazení v IE to nijak neovlivní.

Zdroj: http://interval.cz/clanky/podminene-komentare-v-internet-exploreru
http://www.pixy.cz/pixylophone/2004_06_archiv.html#1088438627

Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2007010701-css-hacky/ ].