Ladíme web pro různé prohlížeče

Články přečteno 767 08.02.
2011
komentováno 14

Už se vám stalo, že jste nakodovali web a vše jelo ve všech prohlížečích stejně? Že ano? I v internet exploreru? Štípněte mě :-) Pokud se najdou některé odchylky, je třeba je odladit a prohlížeče odlišit. Existují zde například podmíněné komentáře, ale těch nejsem moc velký fanoušek, protože potom vzniká několik zbytečných stylů. Dalším řešením je zjistit si prohlížeč v php a dát special třídu přímo body, ale raději vždy oželím validnost css a použiju některý z css hacků a zápisů. Ukážu dneska ty, co znám.

Internet Explorer 6

* html .trida {
	color: #FFFFFF;
}

Internet Explorer 7

*:first-child+html .trida {
	color: #F1F1F1;
}

nebo kratší zápis

*+html .trida {
	color: #F2F2F2;
}

Internet Explorer 8

.trida {
	color: #F3F3F3\0/;
}

Kompletní odlazení toho super prohlížeče

.trida {color: #F0F0F0;} /* pro všechny prohlížeče */
* html .trida {color: #FFFFFF;} /* pro Internet Explorer 6 */
*+html .trida {color: #F1F1F1;} /* pro Internet Explorer 7 */
.trida {color: #F2F2F2\0/;} /* pro Internet Explorer 8 */

Opera

html:first-child .trida {
	color: #F4F4F4;
}

Pokud znáte některé další "triky", podělte se s nimi prosím v komentářích, rád si rozšířím obzory, děkuji :-)

 

vložit svůj názor

 

08.02.2011 - 23:58 Patrik Vogl

Zajímalo by mě, zdali optimalizuješ pro IE6, nebo jak to řešíš. Začal jsem se ptát klientů, zdali IE6 optimalizaci vyžadují, ale jinak jí standardně nedělám. Podle výše uvedeného hacku soudím, že pro IE6 optimalizuješ.

Přijde mi to už trošku mimo, to bychom mohli stále optimalizovat pro 800x600 Jaký máš na tohle názor a jakým způsobem to řešíš? Díky..

reagovat
09.02.2011 - 10:19 R4ms3S

nejlepší způsob je přávě podmíněnýma komentářema, ale pro BODY:
<!--[if lt IE 7 ]><body class="ie6"><![endif]-->
<!--[if IE 7 ]><body class="ie7"><![endif]-->
<!--[if IE 8 ]><body class="ie8"><![endif]-->
<!--[if IE 9 ]><body class="ie9"><![endif]-->
<!--[if !IE]><!--><body><!--<![endif]-->

tím pádem máš všechny styly v jednom CSS a podmínkuješ je pouze tím, že začneš style psát např.
#header {}
.ie7 #header {}

nějaké ladění pro Operu je naprosto zbytečné, stejně tak pro Chrome, Safari (kromě MAC verzi, páč tam jsou fonty tlustší, ale i to se dá odladit), protože pokud napíšeš kód správně, tak se ti v 95% zobrazí všude stejně kromě IE, ale na ty máš podmíněné komentáře

reagovat
09.02.2011 - 10:44 mibrt

#819 Patrik Vogl: pro IE 6 neladím už rok (pouze podle cílové skupiny daného webu), má 4% podíl, nevyplatí se kvůli tomu web omezovat.

reagovat
09.02.2011 - 10:47 mibrt

#820 R4ms3S: ano, psal jsem to v úvodu, je to možnost, ale raději píšu kod podle vzoru výše. Pracuji na Macu a font není tlustší, jen jinak vyhlazuje písmo. Jinak už jsem se setkal s jiným zobrazením u Opery, proto jsem to uvedl

reagovat
09.02.2011 - 10:57 R4ms3S

#822 mibrt: pokud je menu děláno "napevno" a pouze fontem a paddingem, tak se v Safari a i ve FF na MACu rozpadne, mam odzkoušeno na svém Airovi, iPadu, Pro, iPhonu...
Co se Opery týče, pokud kód napíšeš správně, tak se ti v opeře a většinou i v IE 6 + 7 zobrazí správně! Neříkám odsun o +- 2px ale prostě zobrazí se ten web správně, tím pádem se nebojím ladit pro IE6, tak aby to bylo koukatelný a zobrazovalo se to správně

A co se samotného podmínkování týče, tak raději dáváš (omlouvám se za to slov pič*viny k jednotlivým atributům pro jednotlivé IE, než aby jsi vše podmínkoval jen pomocí classy? Tohle mi příjde úchylné, ale je to věc kodéra. Osobně bych se v tom ztrácel a měl v tom guláš.

reagovat
09.02.2011 - 11:00 mibrt

#823 R4ms3S: pokud něco napíšu, vždy se to zobrazí stejně (IE 6 z důvodu bezpečnosti není podporováno ve většině webových aplikací a prezentací). Pokud se mi obsah grafického inputu posune o 1px nahoru v IE 7 a o 1px dolů v IE 8, musím to napsat pro oba zvlášť a kvůli tomu si nebudu classovat celé body. Pokud jsem dobrý kodér, vyznám se v tom

reagovat
09.02.2011 - 11:44 R4ms3S

#824 mibrt: tohle je opravdu jen o názoru a mohli bychom se takhle handrkovat do nekonečna, vždycky to bude někdo psát takhle a někdo jinak. každopádně článek fajn, ale já asi nikdy nevyužiju

reagovat
09.02.2011 - 11:47 mibrt

#825 R4ms3S: souhlasím a děkuji za rozšíření informací. Článek je vždy 50% informací, zbytek jsou komentáře

reagovat
09.02.2011 - 13:23 Martin Světlík

Já používám podmíněné komentáře. Je to pro mě nejpřehlednější. Pokud se v IE něco chová divně, velice rychle to můžu omezit a pak se k tomu vrátit a mít i po roce přehled, co jsem pro IE řešil jinak (a v kódu bych si toho nemusel všimnout).

A pořád optimalizuju pro IE6 Možná jsem masochista, ale prostě chci, aby každý web byl v IE6 použitelný. Na procenta nekoukám. Když na jeden web přijde zrovna 700 lidí za den a 4% budou mít IE6, pořád je to 28 lidí. 28 lidí je pořád dost na to, aby odcházeli nasraný, nebo měli nepoužitelný web, když by to mohli být potencionální zákaznici A to jsem hodil jen příklad z praxe, který jsem si teď ověřil v Google Analytics.

reagovat
09.02.2011 - 13:51 mibrt

#827 Martin Světlík: pokud se bavíme o frontendu, tak musím souhlasit, ale více než procenta je důležitější cílovka, která na web chodí. 4% jsou v celosvětovém měřítku a u nás to bude jinak.

Pokud se bavíme o backendu nebo o webových aplikacích, tam je optimalizace pro IE6 i bezpečnostním rizikem (viz google apps před rokem), nebavím se teď o optimalizaci vzhledu.

reagovat
17.02.2011 - 20:26 Patrik Vogl

Martin: Na jednu stranu to chápu, na druhou - pokud někdo má IE6 (většinou návštěvníci s nelegálním OS, ale i jiní), mě třeba sere, že nejsou schopni jít s dobou.

Jak jsem psal, je to jako optimalizovat pro 800x600, protože někdo s tímto rozlišením přijde a bude nasranej, když bude mít půlku webu schovanou.

Chápu to u webu který nabízí business, ale u ostatních stránek mi to přijde trošku nesmyslné.

reagovat
23.02.2011 - 17:25 mibrt

Doplnění všech variant: http://www.webdesignerwall.com/tutorials/css-specific-for-internet-explorer/

reagovat
01.03.2011 - 9:45 R4ms3S

Náhodou jsem teď narazil na tento článek:
http://paulirish.com/2009/browser-specific-css-hacks/

a je fakt, že spoustu z toho (pokud chceme byt masochisti co se rúzných verzí ostatníh prohlížečů týče) bez těchto triků nedocílíme.
Ale je to asi spíše pro info, páč dobře napsaný kód nebude mít takové rozdíly, aby bylo potřeba pomocí tohoto ladit

reagovat
01.03.2011 - 12:21 mibrt

#3611 R4ms3S: Souhlasím, včera jsem pustil do testovacího provozu jeden web, který byl jeden ze složitějších a ladit jsem nemusel nic. Většinou narážím pouze na problémy s grafickými inputy, kde to v každém IE skáče jinak

reagovat

 

 

Sledujte mě na twitteru @mibrt

 

Hosting Blueboard - srdce našich projektů

 

Mé fotky na flickr