Bu araç hakkında
CSS küçültme, tarayıcılara sunulmadan önce stil sayfasının boyutunu küçültmek için boşlukları, yorumları ve gereksiz karakterleri stil sayfasından kaldırır. Gerçek kurallar değişmedi: küçültülmüş bir stil sayfası, sayfaları küçültülmemiş kaynakla aynı şekilde işler. Tasarruf, yeni satırların, gereksiz noktalı virgüllerin, yorumların, onaltılık renkli kısa yol olanaklarının ve sıfır birim kısayollarının (0 pikselin 0 ile değiştirilmesi) kaldırılmasıyla sağlanır.
Düzinelerce stil kuralına sahip modern web sitelerinde, küçültülmemiş kaynağa kıyasla tipik azalma %20-40'tır. Sunucudaki gzip sıkıştırmasıyla birleştiğinde, marjinal tasarruf azalır - gzip zaten tekrarlanan metni etkili bir şekilde sıkıştırır - ancak bu kombinasyon, özellikle stil sayfaları önbelleğe alındığında ve birçok ziyaretçiye birçok kez sunulduğunda hâlâ tek başına sıkıştırmayı geride bırakır.
Bu küçültücü, CSS'yi tek geçişte işler, url() değerlerinin dışındaki yorumları kaldırır, boşlukları daraltır, parantezleri kapatmadan önce gereksiz noktalı virgülleri kaldırır, sıfır birim kısayolu uygular ve altı basamaklı onaltılık renkleri mümkün olduğunda üç basamaklı forma dönüştürür (#ffffff → #fff). Çıktı, herhangi bir tarayıcının doğru şekilde ayrıştırdığı geçerli CSS olarak kalır.
Neden CSS'yi küçültün?
Daha küçük CSS dosyaları daha hızlı yüklenir ve oluşturmayı engelleyen süre azalır; bunların her ikisi de İlk İçerikli Boya ve En Büyük İçerikli Boya puanlarını artırır. Önemli Web Verilerinin arama sıralamasını etkilediği siteler için, oluşturmayı engelleyen CSS'nin her kilobaytının traşlanması çabaya değer.
Bant genişliği maliyetleri de ölçek açısından önemlidir. Milyonlarca sayfa görüntüleme sunan siteler, stil sayfaları %30 daha küçük olduğunda ölçülebilir miktarda çıkış tasarrufu sağlar. CDN faturaları, mobil veri kullanımı ve enerji tüketiminin tümü biraz fayda sağlıyor. Küçültme aslında ücretsizdir; bakım maliyeti olmayan, tek seferlik bir oluşturma adımıdır.
Teknik Detaylar
CSS küçültmesi çoğunlukla muhafazakar boşlukların kaldırılmasıdır. Seçicilerin, bildirimlerin ve değerlerin içindeki boşluklar önemli olduğu yerde korunur; dışarıdaki boşluk daraltılmıştır. /* ile başlamadıkları sürece yorumlar kaldırılır! (lisans koruma yorumları).
Yaygın kısayollar: 0px, 0em ve benzeri sıfır birim değerleri 0 olur; eşleştirilmiş rakamlara sahip altı haneli onaltılık renkler (#ffffff, #336699) üç haneli (#fff, #369) hale gelir; }'den önceki son noktalı virgül kaldırıldı. Hex bazen daha uzun olduğundan renk adları otomatik olarak hex'e dönüştürülmez (kırmızı, #f00'den daha kısadır; #ff0000 kırmızıdan daha uzundur).
Çıktı, girişi kabul eden herhangi bir CSS doğrulayıcıyı geçmelidir. Tarayıcı desteği değişmedi; küçültme kuralların kendisini değiştirmez, yalnızca metin gösterimlerini değiştirir.
Sık sorulan sorular
- CSS küçültmesi neyi kaldırır?
- Boşluk (boşluklar, sekmeler, yeni satırlar), yorumlar (/* ... */), gereksiz noktalı virgüller, gereksiz sıfırlar (0,5 → 0,5), kısayol optimizasyonları (#ffffff → #fff) ve gereksiz birimler (0px → 0).
- Küçültülmüş CSS'nin üretimde kullanılması güvenli midir?
- Evet. Küçültme tüm CSS kurallarını, seçicileri ve özellik değerlerini korur. Çıktı işlevsel olarak aynıdır; tarayıcılar bunu tamamen aynı şekilde yorumlar. Bu, tüm üretim web siteleri için standart bir uygulamadır.
- Boyutun ne kadar küçülmesini beklemeliyim?
- İyi yazılmış CSS için genellikle %20-50. Ayrıntılı biçimlendirmeye sahip, yoğun yorumlu kodda daha büyük azalmalar görülür. Zaten kompakt olan CSS yalnızca %10-15 oranında küçülebilir.
- Gzip kullanıyorsam CSS'yi küçültmeli miyim?
- Evet, ikisi de. Gzip tekrarlanan kalıpları sıkıştırırken küçültme gereksiz karakterleri kaldırır. Birlikte, tek başına olduğundan daha iyi sıkıştırma sağlarlar. Küçültülmüş + gzip'lenmiş CSS genellikle orijinalden %85-95 daha küçüktür.
- Her zaman küçültmeli miyim?
- Üretim için evet. Geliştirme kaynak dosyalarında, bakım açısından okunabilir CSS şarttır. Küçültme işlemini düzenleme zamanında değil, derleme zamanında çalıştırın.
- CSS'im bir sunucuya yüklendi mi?
- Hayır. Küçültücü tarayıcınızda çalışır.
- Bu cssnano veya csso ile nasıl karşılaştırılır?
- cssnano ve csso, üretim yapıları için PostCSS eklentileridir; gereksiz kuralların birleştirilmesi gibi daha agresif dönüşümler sunarlar. Bu araç, derleme kurulumu olmadan geçici kullanım için temel küçültmeyi kapsar.
- Küçültme kaynak haritalarını bozar mı?
- Küçültme kaynak haritaları oluşturmaz; bu araç yalnızca küçültülmüş çıktı üretir. Üretimde küçültülmüş CSS hatalarını ayıklamak için derlemenizin bir parçası olarak kaynak haritaları oluşturun.