ugrás a tartalomhoz

CSS hack-ek menedzselése

Hojtsy Gábor · 2004. Jún. 29. (K), 08.10
Amennyiben modern technológiákkal készítjük webhelyeinket, előfordul, hogy olyan megoldásokat kell használnunk, amelyeket egyes böngészők nem - vagy nem helyesen - kezelnek. Ilyenkor a CSS stílusok területén bevett szokás, hogy valamilyen CSS hack-hez folyamoduk. A CSS hackek mondhatni tulajdonképpen a 'kiválasztók' koncepcióját terjesztik ki, lehetővé téve, hogy konkrét böngészőket válasszunk ki a lehetséges kliensek közül, a jellemző CSS implementációs hibákat kihasználva.

Sokan nem szeretik ezt a megoldást, de együtt kell vele élni, ha modern CSS alapú oldalt akarunk készíteni, és olyan idejétmúlt böngészőkkel is nézhetővé akarjuk tenni, mint az Internet Explorer vagy a modern böngészők korábbi változatai. Ilyenkor jobb, ha nem hagyjuk, hogy eluralkodjanak a hack-ek a CSS stíluslapunkon, hanem valamiyen intelligens módszereket választunk a menedzselésükre. Az InformIT oldalon jelent meg a napokban Molly Holzschlag cikke Integrated Web Design: Strategies for Long-Term CSS Hack Management címmel, mely éppen ezzel foglalkozik.

Első tanácsa természetesen az, hogy ha nem kell, akkor ne alkalmazzunk CSS hack-eket, de ha mégis szükségesnek ítéljük, akkor tudjuk, mit csinálunk, ismerjük az adott hack hatásait (és mellékhatásait). Ebben az esetben a kezelőorvos, illetve gyógyszerész szerepét a Google látja el. Mindazonáltal nem kell elfelejteni megjegyzésekkel ellátni a a CSS-t, hogy később is emlékezzünk rá, hogy mit miért használtunk.

A hack-ek használatában első számú szabály, hogy érdemes a külső állományokból betölthető hackeket alkalmazni, mert ezek egyrészt jelentősen megkönnyítik a régi böngészők támogatására készített kódokat, másrészt pedig egy későbbi átalakításnál könnyen elmozdíthatóvá teszik a hack-et, ha az adott öreg böngészőt már nem akarjuk támogatni.

Az általános tanácsok után Molly a különböző hackek ismertetésével foglalkozik. Felmerül az @import használata stíluslapok elrejtésére a Netscape 4-es böngészők elől, és részletes magyarázatot ad a box model hack-hez is. Végül szóba kerül az egyes böngészők 'kiválasztására' szolgáló High Pass Filter, Mid Pass Filter, IE 5.0 Band Pass Filter és IE 5.5. Band Pass Filter, melyekkel a hackeket könnyen leválaszthatjuk a fő CSS állományunkról.