HTML وCSS / واجهات متكيفة / الدرس 11
الصور المتجاوبة وتحجيم الوسائط
اختر موارد الصور المناسبة واحفظ النسب وميز اختيار المورد عن التخطيط والبدائل النصية.
في هذه الصفحة
أهداف الدرس
- فصل قرارات الصورة الثلاثة
- عينة صورة محلية مكتملة
- قياس التسليم والاستقرار البصري
فصل قرارات الصورة الثلاثة
تحتاج الصورة قرار معلومات وتخطيط وتسليم. ينقل البديل الغرض وتحدد CSS الملاءمة ويختار المصدر المورد المحمل. لا يصلح ملف أصغر بديلا غير مناسب، ولا تمنع max-width وحدها تنزيل مورد ضخم. حدد الدور أولا ثم النسبة والقص ثم موارد تلائم الأحجام والكثافات دون افتراض شاشة وشبكة موحدتين.
حفظ الأبعاد والمحتوى المفيد
تمنع max-inline-size: 100% وblock-size: auto غالبا تجاوز الحاوية وتحفظ النسبة. يزيل display: block فراغ خط الأساس عند الحاجة. تحجز السمات الأبعاد. تملأ cover الصندوق بالقص وتحفظ contain الكائن كاملا مع فراغ محتمل. يختلف احتمال القص بين صورة زخرفية ومخطط بعناوين على الحواف. افحص المعلومات الأساسية لا مجرد مستطيل ممتلئ جميل.
عينة صورة محلية مكتملة
يدمج المثال رسما SVG صغيرا بعنوان بيانات ليبقى مستقلا دون خدمة. تحجز الأبعاد نسبة اثنين لواحد وتقلصها CSS. يصف البديل مخططا نموذجيا ولا يدعي صورة فوتوغرافية. يستخدم SVG موردا صوريا بلا سكربت. اختر فعليا التنسيق والتخزين المناسبين ولا تدمج موارد ضخمة عشوائيا لمجرد أن المثال استخدم عنوان بيانات.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Flexible local image</title>
<style>
img { display: block; max-inline-size: 100%; block-size: auto; }
</style>
</head>
<body>
<main><h1>Flexible image</h1><img width="200" height="100" alt="Sample diagram: a blue panel" src="data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27200%27 height=%27100%27%3E%3Crect width=%27200%27 height=%27100%27 fill=%27%23164e9a%27/%3E%3C/svg%3E"></main>
</body>
</html>
A blue two-to-one image fits within its container.
للصورة المدمجة نسبة معلومة وتتقلص دون تشويه ولا تحتاج طلبا خارجيا. النتيجة المتوقعة: صورة زرقاء بنسبة اثنين لواحد تلائم الحاوية.
فهم المرشحين والتوجيه الفني
تعرض srcset بأوصاف العرض موارد مرشحة وتصف sizes موضع العرض وفق الشروط. يختار المتصفح مع معلومات الجهاز والبيئة فلا تضمن مرشحا واحدا دائما. تختلف أوصاف الكثافة ولا تمزجها خطأ مع العرض. توفر picture توجيها فنيا أو بدائل تنسيق عبر source، وتبقى img البديل ومالكة النص البديل. يستخدم المثال موردا محليا مشتركا عمدا بدلا من أسماء ملفات غير موجودة.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Picture structure</title>
<style>
img { max-inline-size: 100%; block-size: auto; border: 1px solid; }
</style>
</head>
<body>
<main><h1>Picture fallback</h1><picture><source media="(min-width: 40rem)" srcset="data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27200%27 height=%27100%27/%3E"><img width="200" height="100" alt="Empty sample image for source-selection inspection" src="data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27200%27 height=%27100%27/%3E"></picture></main>
</body>
</html>
A bordered local image slot with a valid picture fallback.
يوضح شرط source البنية وتبقى img البديل ومالكة النص. الموردان متماثلان ولا يدعي المثال توفيرا. النتيجة المتوقعة: موضع صورة محلية بحد وبديل picture صحيح.
قياس التسليم والاستقرار البصري
افحص أبعاد المورد وبايتاته بالشبكة واختبر العرض والكثافة. قد يبقي التخزين موردا سابقا فلا يكفي تغيير الحجم لتجربة نظيفة. افحص حركة التخطيط ولا تؤخر صورة مهمة أول الشاشة دون سبب. تفيد loading="lazy" للمؤجل لكنها تلميح وليست ضمان انعدام العمل قبل التمرير. تحتاج الفيديو والإطارات قرارات مشابهة وبدائل كالتعليقات عند اللزوم. أبق المحتوى الضروري عند الفشل.
الأخطاء الشائعة وإصلاحها
تمتد الصورة عموديا
- لماذا يحدث؟
- فُرض البعدان مستقلين.
- كيف تصلحه؟
- احفظ النسبة أو حدد object-fit مقصودا.
- كيف تتجنب تكراره؟
- اختبر نسبا مختلفة.
تنزل الصفحة صورا ضخمة رغم التجاوب
- لماذا يحدث؟
- قلصت CSS العرض دون المورد.
- كيف تصلحه؟
- وفر المرشحين وتلميح الموضع الصحيح.
- كيف تتجنب تكراره؟
- افحص البايتات لا الصور فقط.
يفقد المخطط عناوينه بسبب cover
- لماذا يحدث؟
- قص الملء معلومات الحواف.
- كيف تصلحه؟
- استخدم contain أو أعد الموضع.
- كيف تتجنب تكراره؟
- راجع المعلومات بعد القص.
اختبر فهمك
1. فسر اختلاف sizes وmax-inline-size.
اعرض الحل المشروح
تساعد sizes تقدير موضع العرض لاختيار مرشحي srcset، وتحد max-inline-size الصندوق. يجب توافقهما لكن الأولى تلميح مورد والثانية تخطيط، ولا تعوضان البديل النصي.
2. يجب إظهار حواف مخطط منتج المسماة دائما. اختر الملاءمة.
اعرض الحل المشروح
احفظ النسبة بارتفاع تلقائي أو استخدم contain داخل موضع مقصود. اقبل الفراغ بدلا من قص العناوين، واختبر الضيق وقدم بديلا أو شرحا مفيدا.
أهم ما تعلمته
- اختيار المورد والتخطيط قراران مختلفان.
- يجب أن يحفظ القص المعلومات.
- قس التنزيل والاستقرار الفعليين.