الدرس 8 من 8
صور متجاوبة
- 13 دقيقة
- 6 فحوص
- 3 تلميحات
- إلى المطلوب
هدف الدرس
كل شاشة تأخذ المقاس المناسب لها
الشرح
عندما تُرسَل صورة عرضها 1600 بكسل كاملة إلى جوّال لا يعرض منها إلا 400، يستهلك المستخدم من بياناته أضعاف ما يراه. والخاصية srcset تعطي المتصفح قائمة بمقاسات مختلفة للصورة نفسها، وsizes تخبره بالمساحة التي ستشغلها الصورة في الصفحة، فيختار هو المقاس الأنسب لعرض الشاشة وكثافة بكسلاتها.
والواصف 800w معناه «عرض هذا الملف 800 بكسل» وليس «اعرضه بعرض 800». ويقرأ المتصفح sizes بالترتيب ويأخذ أول شرط ينطبق، فالقيمة (min-width: 700px) 640px, 100vw معناها 640 بكسل على الشاشات العريضة، وعرض الشاشة كلّه على ما هو أضيق منها.
وانتبه إلى أن الواصف الذي لا يطابق عرض ملفّه الحقيقي يُفسد حساب المتصفح، فيختار صورة مشوّشة أو أثقل من اللازم. وإذا أردت أن يختلف قصّ الصورة بين الشاشات وليس مقاسها فقط، فهذه مهمّة <picture>.
المطلوب
أضف إلى الصورة srcset فيه ثلاثة عروض من الرابط نفسه (?w=400 و?w=800 و?w=1600) مع واصفات تطابقها، وأضف sizes="(min-width: 700px) 640px, 100vw"، وwidth="1600" height="1067" لتُحجز مساحتها بنسبة 3:2، ونصًّا بديلًا يصفها، وأبقِ src احتياطًا.
الفحوص
6 فحوص- ثلاثة عروض على الأقل في srcset
- كل واصف يطابق عرض ملفّه
- مساحة الصورة موصوفة في sizes
- أبعاد الصورة محجوزة بنسبة 3:2
- للصورة نصّ بديل يصفها
- الصورة تحتفظ بـ src احتياطًا