Apie šį įrankį
CSS sumažinimas pašalina tarpą, komentarus ir nereikalingus simbolius iš stiliaus lapo, kad sumažintų jo dydį prieš pateikiant naršyklėms. Faktinės taisyklės nesikeičia: sumažintas stiliaus lapas atvaizduoja puslapius identiškai nesumažintame šaltinyje. Sutaupoma pašalinus naujas eilutes, perteklinius kabliataškius, komentarus, šešioliktainių spalvų santrumpos galimybes ir nulinio vieneto sparčiuosius klavišus (0 pikselių pakeitimas 0).
Šiuolaikinėse svetainėse, kuriose yra daugybė stiliaus taisyklių, įprastas sumažėjimas yra 20–40 %, palyginti su nesumažėjusiu šaltiniu. Kartu su gzip glaudinimu serveryje, ribinės santaupos sumažėja – gzip jau efektyviai suglaudina pasikartojantį tekstą, tačiau derinys vis tiek pranoksta vien tik glaudinimą, ypač kai stilių lentelės yra talpykloje ir daug kartų pateikiamos daugeliui lankytojų.
Ši miniatiūra apdoroja CSS vienu žingsniu, pašalina komentarus už url() reikšmių ribų, sutraukia tarpą, pašalina perteklinius kabliataškius prieš uždarant skliaustus, taiko nulinio vieneto santrumpas ir, kur įmanoma, konvertuoja šešių skaitmenų šešioliktaines spalvas į trijų skaitmenų formą (#ffffff → #fff). Išvestis išlieka galiojanti CSS, kurią bet kuri naršyklė tinkamai analizuoja.
Kodėl sumažinti CSS
Mažesni CSS failai įkeliami greičiau, o pateikimo blokavimo laikas sumažėja, o tai pagerina „First Contentful Paint“ ir „Largest Contentful Paint“ balus. Svetainėse, kuriose pagrindiniai žiniatinklio gyvybiniai parametrai turi įtakos paieškos reitingui, kiekvienas nuskustas pateikimą blokuojančio CSS kilobaitas yra vertas pastangų.
Pralaidumo sąnaudos taip pat svarbios mastu. Svetainės, kuriose pateikiami milijonai puslapių peržiūrų, sutaupo išmatuojamą kiekį išėjimo, kai jų stilių lentelės yra 30 % mažesnės. CDN sąskaitos, mobiliojo ryšio duomenų naudojimas ir energijos suvartojimas yra šiek tiek naudingi. Sumažinimas iš esmės nemokamas – vienkartinis kūrimo veiksmas be priežiūros išlaidų.
Techninės detalės
CSS sumažinimas dažniausiai yra konservatyvus tarpų pašalinimas. Išsaugoma tuščia erdvė parinkikliuose, deklaracijose ir vertybėse, kur tai svarbu; tarpas lauke sutrauktas. Komentarai pašalinami, nebent jie prasideda /*! (licencijos išsaugojimo komentarai).
Įprasti spartieji klavišai: 0px, 0em ir panašios nulinio vieneto reikšmės tampa 0; šešiaženklės šešioliktainės spalvos su suporuotais skaitmenimis (#ffffff, #336699) tampa triženklėmis (#fff, #369); paskutinis kabliataškis prieš } pašalinamas. Spalvų pavadinimai nekeičiami į šešioliktadienį automatiškai, nes šešioliktainis kartais yra ilgesnis (raudona spalva yra trumpesnė nei #f00; #ff0000 yra ilgesnė nei raudona).
Išvestis turi perduoti bet kurį CSS tikrintuvą, kuris priima įvestį. Naršyklės palaikymas nesikeičia – sumažinimas nekeičia pačių taisyklių, tik jų teksto atvaizdavimas.
Dažnai užduodami klausimai
- Ką pašalina CSS sumažinimas?
- Tarpai (tarpai, skirtukai, naujos eilutės), komentarai (/* ... */), nereikalingi kabliataškiai, pertekliniai nuliai (0,5 → .5), stenografijos optimizavimas (#ffffff → #fff) ir pertekliniai vienetai (0 pikselių → 0).
- Ar sumažėjusį CSS saugu naudoti gamyboje?
- Taip. Sumažinimas išsaugo visas CSS taisykles, parinkiklius ir ypatybių vertes. Išvestis funkciškai identiška – naršyklės ją interpretuoja lygiai taip pat. Tai įprasta visų gamybos svetainių praktika.
- Kiek dydžio sumažinimo turėčiau tikėtis?
- Paprastai 20–50 % už gerai parašytą CSS. Gausiai komentuojamas kodas su išsamiu formatavimu pastebimas didesnių sumažinimų. Jau kompaktiškas CSS gali susitraukti tik 10–15%.
- Ar turėčiau sumažinti CSS, jei naudoju gzip?
- Taip, abu. Gzip suglaudina pasikartojančius šablonus, o sumažinimas pašalina nereikalingus simbolius. Kartu jie užtikrina geresnį suspaudimą nei vienas. Sumažintas + gzipped CSS paprastai yra 85–95 % mažesnis nei originalas.
- Ar turėčiau visada sumažinti?
- Gamybai taip. Kūrimo šaltinio failams ne – skaitomas CSS yra būtinas priežiūrai. Vykdykite sumažinimą kūrimo metu, o ne redagavimo metu.
- Ar mano CSS įkeltas į serverį?
- Ne. Minifier veikia jūsų naršyklėje.
- Kaip tai palyginti su cssnano ar csso?
- cssnano ir csso yra PostCSS įskiepiai, skirti gamybinėms versijoms; jie siūlo agresyvesnes transformacijas, tokias kaip perteklinių taisyklių sujungimas. Šis įrankis apima pagrindinį sumažinimą, skirtą ad hoc naudojimui be kūrimo sąrankos.
- Ar sumažinimas pažeidžia šaltinių žemėlapius?
- Sumažinimas negeneruoja šaltinio žemėlapių; šis įrankis sukuria tik mažesnę produkciją. Norėdami derinti sumažintą CSS gamyboje, sugeneruokite šaltinio žemėlapius kaip dalį savo versijos.