ثبت سفارش

فشرده‌سازی و زیباسازی CSS

کد CSS را بچسبان تا نسخه‌ی فشرده (minify) با درصد کاهش حجم را بگیری، یا کد فشرده را دوباره خوانا و مرتب کن.

کد ورودی

خروجی

دانلود فایل

همه‌چیز داخل مرورگر خودت پردازش می‌شود و هیچ فایل یا کدی به سرور فرستاده نمی‌شود.

فشرده‌سازی CSS یعنی چه؟

وقتی CSS می‌نویسیم، برای خوانایی از تورفتگی، خط جدید، فاصله و کامنت استفاده می‌کنیم. مرورگر به هیچ‌کدام از این‌ها نیازی ندارد. Minify کردن یعنی حذف همه‌ی کاراکترهای اضافه بدون تغییر در معنی کد؛ نتیجه فایلی کم‌حجم‌تر است که سریع‌تر دانلود و پردازش می‌شود. چون CSS «منبع مسدودکننده‌ی رندر» است، یعنی صفحه تا دانلود آن نمایش داده نمی‌شود، هر کیلوبایت کمتر مستقیم روی سرعت نمایش اولیه اثر دارد.

این ابزار چه کارهایی می‌کند؟

  • حذف کامنت‌ها، خط‌های خالی و تورفتگی
  • حذف فاصله‌ی اطراف { } : ; , > بدون خراب کردن calc()
  • حذف آخرین نقطه‌ویرگول هر بلوک
  • کوتاه کردن رنگ‌های شش‌رقمی، مثل #ffcc00 به #fc0
  • حذف واحد از صفر، مثل 0px به 0
  • دست نزدن به رشته‌ها و url()، حتی اگر data URI طولانی باشند

بعد از فشرده‌سازی

نسخه‌ی خوانا را برای ویرایش نگه دار و فقط نسخه‌ی .min.css را روی سایت بگذار. با اضافه کردن شماره‌ی نسخه به آدرس، کاربرها بعد از هر تغییر حتماً فایل جدید را می‌گیرند:

<link rel="preload" href="/css/style.min.css" as="style">
<link rel="stylesheet" href="/css/style.min.css?v=12">

اگر پروژه‌ات Node دارد، می‌توانی فشرده‌سازی را خودکار کنی:

npx lightningcss --minify --bundle style.css -o style.min.css

فشرده‌سازی کافی نیست

بزرگ‌ترین صرفه‌جویی معمولاً از حذف CSS استفاده‌نشده می‌آید؛ قالب‌های آماده و صفحه‌سازها اغلب صدها کیلوبایت CSS دارند که بیشترش در هیچ صفحه‌ای استفاده نمی‌شود. فعال بودن Gzip یا Brotli روی سرور را هم چک کن. در پروژه‌های تبدیل طرح به HTML کد CSS از اول تمیز و فقط به اندازه‌ی نیاز نوشته می‌شود. برای ساخت بخش‌هایی از کد هم سازنده‌ی سایه، سازنده‌ی گرادیان و راست‌چین کردن CSS را ببین.

سؤال‌های رایج

فشرده‌سازی CSS چقدر حجم را کم می‌کند؟

بسته به نوع نوشتن، معمولاً ۱۵ تا ۳۵ درصد. اگر فایل کامنت زیادی دارد بیشتر هم می‌شود. بعد از فشرده‌سازی، سرور هم با Gzip یا Brotli حجم انتقال را چند برابر دیگر کم می‌کند.

آیا minify کردن CSS ظاهر سایت را تغییر می‌دهد؟

نه. فقط فاصله‌ها، خط‌های خالی، کامنت‌ها و نقطه‌ویرگول‌های اضافه حذف می‌شوند. رشته‌ها، url()ها و فاصله‌های لازم در calc() و انتخابگرها دست نمی‌خورند.

کد فشرده‌شده را چطور دوباره خوانا کنم؟

گزینه‌ی «زیباسازی» را بزن؛ کد با تورفتگی و هر ویژگی در یک خط برمی‌گردد. البته کامنت‌هایی که هنگام فشرده‌سازی حذف شده‌اند برنمی‌گردند.

کامنت‌های لایسنس حذف می‌شوند؟

کامنت‌هایی که با /*! شروع شوند (معمولاً لایسنس کتابخانه‌ها) اگر گزینه‌اش روشن باشد نگه داشته می‌شوند.

کد CSS به سرور فرستاده می‌شود؟

نه. همه‌ی پردازش در مرورگر خودت انجام می‌شود و کد تو جایی ذخیره نمی‌شود.

طرح فیگما یا XD داری و کد تمیز و دقیق می‌خواهی؟ تبدیل فیگما به HTML ←
زمان و قیمت ثبت سفارش