ugrás a tartalomhoz

Megint CSS-t hackelsz

Joó Ádám · 2010. Jún. 22. (K), 17.19

Ugye mindenki emlékszik még a CSS hackek dicső időszakára? Aki nem használta, az felvetett fejjel üdvözli, hogy végre kivesztek, aki igen, az lesütött szemmel motyog valamit a keresztböngészős követelményekről.

De hisz megint hackelsz, nem törik le a kezed?

A CSS3 végre elhozni látszik a webes látvány várva várt aranykorát: egyedi betűtípusok, kerek sarkok, áttetszőség, színátmenetek, árnyékok, forgatás stb.

.this-is-awesome {
	border-radius: 5px;
}

Egy sornyi CSS-sel lekerekítettük a sarkokat. Elméletben. Mert ugye a böngészőgyártók úgy döntöttek, a gyakorlatban ehhez használjuk a saját specifikus előtagjukat:

.this-is-slightly-less-awesome {
	border-radius: 10px 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
}

Na persze gondoljunk a többi böngészőre is. És még abban sem biztosak, hogy van-e összevont alak:

.this-is-absurd {
	border-radius: 10px 5px;
	-moz-border-radius: 10px 5px;
	-webkit-border-top-left-radius: 10px;
	-webkit-border-top-right-radius: 5px;
	-webkit-border-bottom-right-radius: 10px;
	-webkit-border-bottom-left-radius: 5px;
	-o-border-radius: 10px 5px;
	-khtml-border-top-left-radius: 10px;
	-khtml-border-top-right-radius: 5px;
	-khtml-border-bottom-right-radius: 10px;
	-khtml-border-bottom-left-radius: 5px;
}

Na mi ez, ha nem hackelés? Egészen olvasmányos a kód, ugye? És még csak nem is validál.

Fentieken elborzadva hozta össze Aaron Gustafson az eCSStender („extender”) nevű JavaScript könyvtárat, minek közreműködésével böngészőspecifikus előtagok nélkül használhatjuk a CSS3 lehetőségeit.

Használatához elegendő behúzni a könyvtárat és az igényünk szerinti kiterjesztést (alapból a szabvány moduljai szerint összeállítva, de lehetőségünk van sajátot csomagolni), ő pedig betöltés után megvizsgálja a stíluslapokat, ahol CSS3 tulajdonságot lát, s működik a sztenderd alak, ott békén hagyja, ahol nem, ott lecseréli a prefixes alakra.

Amikor pedig végre minden böngésző támogatja a szabványos formákat, akkor elég kivenni a szkripteket, és elérkezik a világbéke.

 
1

Példák

LaySoft · 2010. Jún. 23. (Sze), 14.27
Sziasztok!

Próbálta valaki a letöltött példákat? Nekem egyik sem megy, semmilyen böngészőben. Megjelenik a jobboldali div, de pl. nincsenek lekerekítve a sarkai...
2

Nekem se megy

elgeri · 2010. Jún. 23. (Sze), 19.26
Szia!

Nekem se mentek a példák, sőt, maga a weblap is valami végtelen js ciklusba esik.
Örülök, hogy nem csak én bénáztam ezek szerint ezzel, én megnyugodtam :)
3

szintén

Endyl · 2010. Jún. 23. (Sze), 19.45
Nálam is bedöglött a project oldala... Firefox 3.6.3-mal nem is látszódott rendesen, most 3.6.4-gyel már kb 1 perc alatt végez; közben párszor engedélyezni kell a js további futását...
Nem egy villámgyors dolog.
4

Jah, jó lassú

LaySoft · 2010. Jún. 23. (Sze), 22.04
Akkor én is megnyugodtam! :) Egyébként mintha valami google analytics lenne a lassúság oka, de az tény hogy teljesen leblokkolja a böngészőt pár másodpercre.
5

Hivatalos

janoszen · 2010. Jún. 24. (Cs), 23.04
A hivatalos magyarázat azt hiszem az, hogy amíg nem ajánlás a CSS3 csak tervezet addig változhat az előtag nélküli szabályok jelentése és éppen ezért implementálják a böngészőspecifikus prefixekkel amit később majd el lehet felejteni.

Az, hogy ez mennyire hasznos... eldöntheti mindenki saját maga.
6

Gyakorlat

Joó Ádám · 2010. Jún. 25. (P), 03.00
Nem fog változni. (Abba pedig már-már övön alulinak tartanám belemenni, hogy az ajánlás státusz elérésének éppen a böngészőkbeni implementáció a kritériuma…)
7

ie kerekítés

crowley · 2010. Jún. 28. (H), 12.26
Ha jól sejtem, ez sem fog sarkokat kerekíteni IE alatt.
8

Jól sejted

Kevlar · 2010. Jún. 28. (H), 15.35
Mert ez a script a böngészőkben már eddig implementált lehetőségek egységesítésére való, nem bővítésére.
9

IE?

presidento · 2010. Jún. 28. (H), 18.15
Nem jól sejted. Ezzel is le lesznek kerekítve a sarkok IE alatt.
(Hint: lesz: IE >= 9 / van: IE <= 8)