ugrás a tartalomhoz

Saját stíluslap alkalmazása webhelyenként

Hojtsy Gábor · 2004. Júl. 15. (Cs), 08.42
A legtöbb böngésző lehetővé teszi, hogy felhasználói stíluslapot definiáljunk, azaz saját CSS kódot adjunk meg, melyet a webhelyek által megadott stílusnál fontosabbként kezel a web kliensünk. Ezzel lehetővé válik, hogy olvashatóbbá tegyünk bizonyos oldalakat, vagy csökkentsük a kontrasztot olyan lapokon, ahol a szemünket szúró megjelenítési módot választottak. Csak egy probléma van ezzel, mégpedig az, hogy az egyetlen beállítható felhasználói stíluslap minden webhely stílusait felülírja, így ha nem vagyunk túl óvatosak, káros hatással lehetünk bizonyos oldalak megjelenésére.

Annak érdekében, hogy a közös felhasználói stíluslapban egyes webhelyekre vonatkozó stílusokat adhassunk meg, Eric Meyer javasolta a "CSS signatures" néven elhíresült megoldást, azaz hogy helyezzenek a webhely tulajdonosok a <body> HTML elemükbe egy a webhely címéből származtatott ID-t. A Weblabornál is ezt használjuk:

<body id="weblabor-hu">
Ezzel lehetővé válik, hogy a felhasználói stíluslapban a webhelyhez tartozó kiválasztókat írjanak az ehhez értő felhasználók. Az ötlet egyáltalán nem új, de nem lehet elvárni, hogy a web nagyrésze az alkalmazásába kezdjen, hiszen a CSS aláírások valójában csak a látogatók egy kis szeletének jelentenek jót, aki nem használ felhasználói stíluslapot, annak nem számít a jelenlétük.

Mivel a webmesterek nem kaptak még eléggé rá erre a technikára, nyilvánvaló, hogy jó ötlet lenne, ha a böngésző automatikusan generálna ilyen azonosítót, így átemelve a saját stíluslap készítése szempontjából fontos információt a webhely címéből a HTML tartalmába. Nos, Ryan Tomayko nem csak vágyakozott a megoldás után, hanem el is készítette az ehhez szükséges JavaScript kódot, és arra is rájött, hogy miképpen lehet Mozilla alapú böngészőkben automatikusan lefuttatni minden oldal meglátogatásakor egy XBL binging segítségével. Ezzel nem kell várni a webhely tulajdonosok aktivizálódására, hiszen már most is készen kaphatjuk a weboldalak CSS aláírásait.
 
1

html

Jano · 2004. Júl. 15. (Cs), 19.51
Miert nem a HTML elemhez kapcsolja az ID-t?
Esetleg a HEAD-ben is lehet olyan dolog aminek a megjelenitese hasznos lehet.
2

html

Anonymous · 2004. Júl. 15. (Cs), 21.55
Gondolom azért, mert a szabvány szerint a body tagnak lehet id-je, a másik kettőnek meg nem.
4

Valóban

Hojtsy Gábor · 2004. Júl. 16. (P), 08.51
Valóban az ID az a &coreattrs; része, amit nem vettek fel a HTML és a HEAD elemhez sem...
3

Miért nem URI alapján?

Anonymous · 2004. Júl. 16. (P), 08.46
Miért nem URI alapján történik a stíluslapok hozzárendelése? Készítek egy stíluslapot és beállítom, hogy a weblabor.hu-ról érkező tartalomra az én stíluslapom legyen érvényes. Nem egyszerűbb ez?
5

Győzd meg a gyártókat

Hojtsy Gábor · 2004. Júl. 16. (P), 08.59
Erről a böngészőgyártókat kellene meggyőzni. Mozillákhoz most indult el egy MyOwnCSS nevű online szolgáltatással párosított kiterjesztés. Ez mondjuk nekem így nem tetszik, nem tűnik szerencsésnek a nehezen kiizadott stíluslapjaimat valamilyen feltörekvő kis szolgáltatásra bízni... Ettől még ki lehet próbálni :)
6

Fejlemény

Hojtsy Gábor · 2004. Júl. 16. (P), 09.56
Simon Willison is kommentálta a dolgot, és ott hivatkoztak hozzászólói az URlid kiterjesztésre, ami még ennél is jobb (több classt vesz fel a bodyra, és így jobb testreszabhatóságot ad).