كل المقالات

تصغير CSS: ما الذي يُحذَف فعليًا من الملف ولماذا

يقلّل تصغير CSS حجم الملف دون تغيير طريقة تفسير المتصفح له — تبقى الأنماط نفسها تمامًا، ويختفي فقط ما كان موجودًا لغرض قراءة الكود من قبل الإنسان.

ما الذي يُحذَف فعليًا

تحذف أداة التصغير المسافات والأسطر الفارغة بين القواعد، والتعليقات من نوع /* ... */، والفاصلة المنقوطة الأخيرة قبل القوس المغلق لكتلة، وتختصر الأصفار الزائدة في قيم مثل 0.5em.5em. لا يمسّ أي من ذلك محتوى النص نفسه — فقط المسافات والرموز المحيطة به.

النص العربي داخل CSS يمرّ دون أي تغيير

قيمة مثل content: "←" أو خاصية مخصّصة تحمل تعليقًا بالعربية تمرّ عبر أداة التصغير دون أن يتغيّر فيها حرف واحد — فالأداة تتعامل مع المسافات والتعليقات والصياغة، لا مع ترميز البايتات في النص ذاته. الأمر الوحيد الذي يستحق الانتباه هو أن بعض الأدوات القديمة أو المحررات سيئة الإعداد قد تفترض ترميزًا مغايرًا لـ UTF-8 عند دمج الملفات، لذا فإن أول سطر في ملف CSS يحتوي أحرفًا غير لاتينية يكون أكثر أمانًا مع تصريح @charset "UTF-8"; صريح قبل أي شيء آخر، بما في ذلك التعليقات.

لماذا يعمل الملف المصغّر بنفس الطريقة تمامًا

يتجاهل محلّل CSS في المتصفح تمامًا المسافات والأسطر الفارغة بين الرموز — فهي موجودة فقط لتسهيل قراءة الكود من قبل الإنسان. لذا فإن حذف هذه الأحرف لا يغيّر إطلاقًا الأنماط المحسوبة.

لماذا نحتاج هذا

  • تقليل حجم ملف CSS قبل نشر موقع في الإنتاج.
  • تسريع تحميل الصفحة عبر نقل بيانات أقل.
  • جعل بنية الأنماط أقل وضوحًا عند فحص سطحي للكود المصدري.

لماذا يبقى وزن الصفحة مهمًا في أسواق المنطقة العربية

تتفاوت جودة الاتصال بشكل كبير بين دول المنطقة العربية: اتصال ثابت وسريع نسبيًا في بعض دول الخليج، مقابل اعتماد أكبر على الشبكات الجوّالة وتفاوت في التغطية وسرعتها في مناطق أخرى، إضافة إلى تكلفة الباقات التي لا تزال تشكّل عاملًا حقيقيًا لجزء من المستخدمين. لموقع بجمهور عربي موزّع على عدة دول، كل كيلوبايت يوفّره تصغير CSS لا يعني نفس الشيء لكل الزوّار — وهذا بالضبط سبب عدم إهمال هذه التقنية البسيطة.

جرّب الأداة