Zrychlete své CSS
Nedávno psal Yuhů a další (viz odkazy) o knize Andrew B. Kinga Zrychlete své WWW stránky!. Jsem přibližně v polovině a n…
Nedávno psal Yuhů a další (viz odkazy) o knize Andrew B. Kinga Zrychlete své WWW stránky!. Jsem přibližně v polovině a nad kapitolou Optimalizace CSS mě tak svrběly prsty, že mi to nedalo a podíval se na svůj CSS soubor. Cílem podívání bylo jej zmenšit, při čtení knihy jsem totiž nabyl dojmu, že vše jde zkrátit nebo zmenšit o polovinu a soubory se styly nejsou vyjímkou.
Nejprve jsem použil techniku, o které se zmínil Petr Weida, tedy odstranění prázdných řádek, formátování souboru a odstranění komentářů. Soubor se mi smrskl o cca 42%, viz tabulka zcela dole, již v tuto chvíli jsem mohl být spokojen.
Autor knihy, ale nabízí také další techniky, které jsem aplikoval dále:
- odstraňte prázdná místa (již jsem provedl)
- odstraňte komentáře (již jsem provedl)
- minimalizujte HTTP požadavky (používejte jen jeden CSS soubor)
- krátké názvy selektorů
classaid - používejte skupinové selektory a deklarace
- využívejte maximálně dědičnosti
Vypustil jsem ještě několik již nepotřebných deklarací a zjednodušil některé CSS konstrukce. Například místo zápisu
background-color: #ee9e22;background-image: url(„/img/tovarna.gif“);background-position: right top;background-repeat: no-repeat;
… jsem použil zkrácené zápisy, které autor také doporučuje:
background:#ee9e22 url(„/img/tovarna.gif“) right top no-repeat;
…. a následovaly úpravy s využitím dědičnosti a odstranění zdvojených definic téhož. Výsledek byl na světě.
Přehled úprav velikosti CSS:
- původně: 8,22 kB (8427 bajtů), 8429 znaků
- komprimováno: 4,79 kB (4909 bajtů), 4933 znaků = úspora 42%
- + optimalizované CSS: 3,40 kB (3490 bajtů), 3492 znaků = úspora 59%
Určitě si řeknete, že ten původní soubor musel vypadat, ale o to nejde. Určitě nejsem sám komu oprášení definice stylů pomůže a výsledkem budou nejen rychleji se načítající stránky, ale hlavně spokojení uživatelé.
Až knihu dočtu, možná si z ní na Vás ještě něco vyzkouším.
Související:
- Online komprimace CSS – (Petr Weida, About weblog, 7.5.2004)
- Kniha o rychlosti stránek – (Dušan Janovský, Yuhůův weblog o webu, 29.4.2004)
- Andrew B. King: Zrychlete své WWW stránky – (Milan Kryl, Kryl Blog, 11.5.2004)
- Zrychlete své WWW stránky! – (Vilém Málek, Interval, 13.5.2004)
- Zrychlete své WWW stránky! – (Nakladatelství ZonerPress)
Jirka Ch | 19. Květen 2004, 0:48 | „Články“ | Trvalý odkaz | Komentáře (10) | Štítky: css, komprese
Komentáře:
Pěkný spot. Jenom bych připomenul rčení „všeho s mírou“. Aby nevznikaly přeoptimalizované soubory, ve kterých je:
Tohle ale není případ rozumné optimalizace, o které píšeš.
S nazvy mas urcite pravdu, jinak jiz bych nesouhlasil… preci jenom muzes mit svou editacni verzi a pak druhou – zkomprimovanou, kterou davas na servery…
[2] Jesli mi to ale kvůli úspoře 0,2 % stojí za to. Mě tedy (zatím) ne. Jednou dobře udělanou kaskádou ušetřím desetkrát tolik. Ale proti gustu…
[1] Ano je samozřejmá (aspoň doufám) jistá míra soudnosti. Pokud je úspora v jednotkách % pak je lepší neoptimalizovat a už vůbec neoptimalizovat za každou cenu.
[2] a [3] Editační verzí bych rozuměl soubor s odřádkováním, s odsazením hodnot a podobně.
Hlavní úspora je stejně kaskádách a také v odstranění zbytečných mezer, ale ne vše na jednu řádku :-)
[4] Myslím, že si rozumíme a jsme ve shodě.
ad Úspora v kaskádách) Když jsem pře pár měsící „optimalizoval“ své CSS soubory, tak jsem se divil, co jsem to vlastně vytvořil. A opravoval jsem a opravoval. Kdybych se na to podíval teď, tak dojdu asi k podobnému poznání a zase bych optimalizoval :-)
Je potřeba být pragmatický. Neoptimalizovat za každou cenu. Někdy je lepší mít delší zápis, který je přehledný i po čase, než dělat nejaké šílené kotrmelce. Tohle ale samozřejmě není připomínka ke spotu. Je to taková obecná úvaha.
[5] Mám stejný pocit, minule jsem zapoměl poděkovat za pochvalu, takže děkuji dodatečně.
Sám jsem byl překvapen kolik věcí jsem byl schopen zcela vypustit. Především různé zbytečné marginy, paddingy a podobně.
Kniha o které se zmiňuji je spíše opačný příklad kde se jde až do extrémů, ale je jasné, že si člověk vždy má vybrat to svoje. Hlavní je neblbnout a dělat vše s rozmyslem :-)
Díky za moc zajímavej článek. Určitě si odkaz na něho schovám do svého elitního archivu.
Myslim, ze zalezi jak kde. Na hodne navstevovanejch serverech se ti vyplati zkratit ten CSSkovej soubor i jen o nekolik bajtu. V celkove sume to totiz uz da hodne zajimavy vysledky a usetri to minimalne prenosovou sirku pasma, kde se jiz muzou posilat dalsi soubory.
Co se tyka neprehlednosti – resit jak doporucuji v knizce. Mit puvodni soubor, ktery je lidsky citelny a potom optimalizovanou verzi, kterou posilam ctenarum webu.
Ale optimalizace na blogu pro par stovek uzivatelu za den je spis malym cvicenim nez nejakou uzitecnou veci a brutalnim zrychlenim. To uz se spis vyplati cacheovat, protoze uzivatele na blog chodi pravidelne a styl se casto nemeni.
Milane samozřejmě, že jsem to bral jako malé cvičení pro sebe a jako ukázku ostatním. Výsledek mě prostě příjemě překvapil.
Původní neoptimalizovaný soubor je vážně nutnost.
My counselors and I could use all the help we can get, your site is perfect.
http://dsl-modem.tiz.net
http://dsl-flatrate.tiz.net
http://dsl-anschluss.tiz.net
http://dsl-tarife.tiz.net
http://dsl-anbieter.tiz.net
http://dsl-provider.tiz.net
http://dsl-flat.tiz.net
http://dsl-angebot.tiz.net
http://dsl-zugang.tiz.net
http://dsl-angebote.tiz.net
http://internet-dsl.tiz.net
http://isdn-dsl.tiz.net
http://dsl-service.tiz.net
http://dsl-bestellen.tiz.net
http://dsl-6000.tiz.net