Nem olyan nagy ördöngősség, több megoldása is van.
Először is döntsd el, hogy mely böngészőkre szeretnél elsősorban optimalizálni és azokat vizsgáld meg. Persze az ideális eset az, hogy minden létező böngészőn tökéletesen ugyanúgy néz ki a lapod, de azért át kell gondolni, hogy megéri-e mondjuk azért szívni órákat, napokat, egy 0.002%-os arányú böngészőre is optimalizált legyen a lap.
Amire biztos kell: Internet Explorer, Firefox
Amire szintén kell(het, esetfüggő): régebbi IE-k, Safari, Opera, linuxos böngészők stb.
Szívem szerint az Opera-t is az IE és FF mellé tenném (én oda szoktam annak ellenére is, hogy nálam 2-3%-ot jelent), de elég alacsony a használtsága a stat-ok szerint.
Nálam ez pl. így néz ki: böngésző statisztika - 1 hónapra
Nyilván ha egy mac-eseknek szóló blogot indítok, akkor a Safari lesz az első, ha linux-os témájú lapom van akkor annak Firefox és a többi linuxos böngésző kerül előtérbe, IE meg nagyon hátracsúszik.
Hasznos lehet még olvasni pl. a Kirowski által kiadott TechStat 2007 c. PDF-et (357kb)
Aztán ha ezek megvannak, több lehetőség is van.
1.) Olyan kódot írsz, ami böngészőfüggetlen. Ehhez érdemes megismerni és megjegyezni, hogy mely böngésző mit hogy értelmez, kezel. Ekkor nem használsz javascriptet, hacket, feltételeket. Mondjuk hozzáteszem, hogy ez a legnehezebb megoldás, viszont a legidőtállóbb és a későbbiekben a legkönnyebben fejleszthető, karbantartható.
* Hogy tisztába légy vele, mely böngésző mit értelmez: Will the browser apply the rule(s)?
* Milyen CSS változások vannak az IE7-ben? Details on our CSS changes for IE7
2.) Optimalizálsz Firefox-ra, aztán az IE hülyeségeit kiegyengeted egy másik CSS-ben, amire mutató hivatkozást egy feltételes szabállyal adsz meg. Ehhez egyszer már írtam anyagot (Böngészőfüggő CSS - feltételek segítségével), amit elolvasva akár tovább is mehetsz.
Nem egy rossz megoldás egyébként, sokan szeretik, tisztán tartja a kódot és egyszerű átlátni, hogy mi mire van hatással.
3.) Lehet alkalmazni css-ben is hack-eket (vagy filterek). Ezek 1-1 böngésző hibáját kihasználó hack-ek, amikor is a böngésző egyik hibáját egy másikkal javítasz.
Ehhez tartozó leírásokat szintén találsz a lapomon, illetve ajánlott elolvasni:
* CSS hack-ek menedzselése
* CSS hacks lista (quirksmode)
* CSS hacks lista (css-discuss)
* css hacks leírás
Használom ha kell, de próbálom ezek számát minimalizálni. A lényeg: ésszel kell vele élni.
4.) A problémák nagy részét át lehet hidalni a IE7 javascripttel, amit Dean Edwards-nak köszönhetünk (IE7 compatibility list)
Bevallom, szemezgettem már vele hogy kipróbálom, de mivel első pontban vázolt megoldás híve vagyok (és nem igazán van rá szükségem), nem került rá sor. Viszont ismerősök nagyon pozitívan nyilatkoztak róla, áldották az úriember nevét.
Hátránya, hogy javascripthez között a lapod helyes megjelenése (js-t meg ugye ki is lehet kapcsolni).
Könyvjelzők