CSS Sprites

كلمة CSS Sprites مقصود بيها انك تجمع عدة صور بداخل صورة واحدة و تستخدم كل صورة منهم عن طريق ال position
CSS Sprites

في هذه الصفحة

تأثير CSS Sprites على سرعة تحميل الموقع و استهلاكه للـ memory

في البداية محتاجين نعرف ايه هي المشكلة اللى ال CSS Sprites بتحلها ، بعد كدا نتعرف على ال CSS Sprites و نشوف ازاى قدرت تحل المشكلة دى

لنفرض إن احنا عندنا صفحة معينة بتتطلب عدد كبير من الايقونات او الصور عشان تعرض المحتوى بتاعها بشكل سليم ، هنلاحظ إن الصفحة دى بتبعت request إلى السيرفر لكل صورة محتاجاها بالتالي لو محتاجة 5 صور ، هنتوقع منها انها بتبعت 5 requests في نفس الوقت بالتالي بتستهلك سعة كبيرة من ال memory الخاصة بالجهاز ، ف هنلاحظ إن الموقع تقيل و بيهنج لغاية ما كل ال requests تتم بنجاح


بالتالي الأمر في نظرنا حتى الآن هو استهلاك كبير للـ memory فقط ، و لكن الأمر أسوأ من كدا ، لأن المتصفحات بيكون ليها عدد معين لا يمكن تجاوزه من الـ requests اللى بيتم العمل عليها في نفس الوقت ، ف مثلا لو الـ user بيستخدم متصفح اخره يتعامل مع 3 requests في نفس الوقت ، هنلاقى إن في 2 من الصور منتظرين اى request حالي يخلص عشان نبدء نجيب أحدهم من الـ server ثم الصورة التانية لما request تاني يخلص ، بالتالي مبقتش مسألة memory فقط و لكن وقت كمان

الرسم التالي بيوضح الكلام السابق ، لاحظ اننا بعتنا 3 requests متتالية و بعدها انتظرنا انتهاء اى request منهم عشان نبدء واحد غيره

طيب ازاى نقدر نحل المشكلة دى ؟

الحل بسيط جدا ، و هو اننا نجمع الصور كلها بداخل صورة واحدة ، و بواسطة ال CSS و بالأخص ال background-position property نقدر نستخدم كل صورة منهم تبعا لل position بتاعها بداخل الصورة المدمجة أو ال CSS Sprite اللى هنعملها

بالتالي كلمة CSS Sprites مقصود بيها انك تجمع عدة صور بداخل صورة واحدة و تستخدم كل صورة منهم عن طريق ال position فمثلا لو عندنا 5 صور منفصلة بالشكل دا

نقدر نجمعهم بداخل صورة واحدة بالشكل دا

تقدر تعملهم بشكل يدوي بنفسك أو بواسطة اى أداة CSS Sprites Generator كالأداة التالية مثلا

CSS Sprites Generator Tool | Toptal®
Generate CSS image sprites from multiple images with our easy-to-use uploading tool. Get started for free.

بمجرد الدخول على الرابط ، هيظهر امامك الشكل التالي

أضغط على CHOOSE FILES و اختر الصور اللى محتاج تجمعهم سوا بداخل صورة واحدة ، و تلقائيا هتلاقى الصورة اتعملت و كمان معاك اكواد CSS المناسبة لاستخدام كل صورة بداخل الصورة المجمعة

تقدر تحمل الصورة عن طريق الضغط على DOWNLOAD و تستخدم اكواد ال CSS المعروضة أمامك

و بكدا نكون وصلنا إلى الرسم التالي

هنلاحظ إن في request واحد فقط بيتم ارساله عشان نجيب صورة واحدة مجمعة لكل الصور ، بالتالي استهلاك أقل لل memory و سرعة أكبر اثناء فتح الموقع

💡
يمكن تتبع جميع ال requests و التحقق بنفسك من خلال ال network tab الموجودة في ال dev tools الخاصة بالمتصفح

اشترك الآن بنشرة اقرأ-تِك الإخبارية

لا تدع أي شيء يفوتك. واحصل على أحدث المقالات المميزة مباشرة إلى بريدك الإلكتروني وبشكل مجاني!
رائع! تحقق من بريدك الإلكتروني واضغط على الرابط لإكمال تسجيل الدخول.
حدث خطأ! من فضلك قم بادخال بريد إلكتروني صحيح!