O ovom alatu
Umanjivanje CSS-a uklanja razmake, komentare i nepotrebne znakove iz stilske tablice kako bi se smanjila njezina veličina prije posluživanja preglednicima. Stvarna pravila su nepromijenjena: umanjena lista stilova prikazuje stranice identično neminificiranom izvoru. Ušteda dolazi od uklanjanja novih redaka, suvišnih točaka i zareza, komentara, mogućnosti stenografije u heksadecimalnoj boji i prečaca s nultom jedinicom (zamjena 0px s 0).
Na modernim web stranicama s desecima stilskih pravila, tipično smanjenje je 20–40% u odnosu na neminificirani izvor. U kombinaciji s gzip kompresijom na poslužitelju, marginalne uštede se smanjuju — gzip već učinkovito komprimira ponovljeni tekst — ali kombinacija još uvijek pobjeđuje samu kompresiju, osobito kada su stilske tablice predmemorirane i poslužene mnogo puta mnogim posjetiteljima.
Ovaj minifikator obrađuje CSS u jednom prolazu, uklanja komentare izvan url() vrijednosti, sažima bjelinu, uklanja suvišne točke i zareze prije zatvaranja vitičastih zagrada, primjenjuje skraćenicu s nula jedinica i pretvara šesteroznamenkasti heksadecimalni oblik boja u troznamenkasti oblik gdje je to moguće (#ffffff → #fff). Izlaz ostaje važeći CSS koji svaki preglednik ispravno analizira.
Zašto smanjiti CSS
Manje CSS datoteke učitavaju se brže, a vrijeme blokiranja iscrtavanja opada, a oba poboljšavaju rezultate First Contentful Paint i Largest Contentful Paint. Za web-mjesta na kojima Core Web Vitals utječu na rangiranje u pretraživanju, svaki kilobajt obrijanog CSS-a koji blokira prikaz vrijedan je truda.
Troškovi širine pojasa također su važni na razini. Web-mjesta koja poslužuju milijune pregleda stranica štede mjerljive količine izlaza kada su njihove tablice stilova 30% manje. Računi za CDN, korištenje mobilnih podataka i potrošnja energije imaju malu korist. Minifikacija je u biti besplatna — jednokratni korak izgradnje bez troškova održavanja.
Tehnički detalji
CSS minifikacija uglavnom je konzervativno uklanjanje razmaka. Praznina unutar selektora, deklaracija i vrijednosti sačuvana je tamo gdje je značajna; bjelina izvana je sažeta. Komentari se uklanjaju osim ako počinju s /*! (komentari o očuvanju licence).
Uobičajeni prečaci: 0px, 0em i slične vrijednosti nulte jedinice postaju 0; šesteroznamenkaste heksadecimalne boje s uparenim znamenkama (#ffffff, #336699) postaju troznamenkaste (#fff, #369); posljednja točka-zarez ispred } se uklanja. Nazivi boja ne pretvaraju se automatski u heksadecimalni jer je heksadecimalni ponekad duži (crvena je kraća od #f00; #ff0000 je duža od crvene).
Izlaz bi trebao proći bilo koji CSS validator koji prihvaća unos. Podrška preglednika je nepromijenjena — smanjivanje ne mijenja sama pravila, samo njihov tekstualni prikaz.
Često postavljana pitanja
- Što uklanja CSS smanjivanje?
- Razmaci (razmaci, tabulatori, novi redovi), komentari (/* ... */), nepotrebne točke i zarezi, suvišne nule (0,5 → ,5), optimizacije stenografije (#ffffff → #fff) i suvišne jedinice (0px → 0).
- Je li umanjeni CSS siguran za upotrebu u proizvodnji?
- da Minifikacija čuva sva CSS pravila, selektore i vrijednosti svojstava. Izlaz je funkcionalno identičan — preglednici ga tumače na potpuno isti način. To je standardna praksa za sve proizvodne web stranice.
- Koliko smanjenje veličine mogu očekivati?
- Obično 20-50% za dobro napisan CSS. Jako komentirani kod s verbose oblikovanjem vidi veća smanjenja. Već kompaktni CSS može se smanjiti samo 10-15%.
- Trebam li smanjiti CSS ako koristim gzip?
- Da, oboje. Gzip komprimira uzorke koji se ponavljaju, dok smanjivanje uklanja nepotrebne znakove. Zajedno osiguravaju bolju kompresiju nego svaki zasebno. Minificirani + gzipani CSS obično je 85-95% manji od originala.
- Trebam li uvijek minimizirati?
- Za proizvodnju da. Za razvojne izvorne datoteke, ne - čitljiv CSS je bitan za održavanje. Pokreni smanjivanje u vrijeme izgradnje, a ne u vrijeme uređivanja.
- Je li moj CSS učitan na poslužitelj?
- Ne. Minifier radi u vašem pregledniku.
- Kako se ovo može usporediti s cssnano ili csso?
- cssnano i csso su PostCSS dodaci za proizvodne nadogradnje; nude agresivnije transformacije kao što je spajanje suvišnih pravila. Ovaj alat pokriva osnovno smanjivanje za ad hoc upotrebu bez postavljanja međugradnje.
- Lomi li minifikacija izvorne karte?
- Minifikacija ne generira izvorne karte; ovaj alat proizvodi samo umanjeni izlaz. Za otklanjanje pogrešaka u smanjenom CSS-u u produkciji, generirajte izvorne karte kao dio svoje izgradnje.