في هذا الدرس 7تصفّح المواضيع
تأتي كل صورة أو مقطع فيديو بنسبة أبعاد أصلية تحددها أبعاد الملف الطبيعية بالبكسل. عندما تفرض على عنصر <img> أو <video> قيمتين ثابتتين لخاصيتي width و height لا تطابقان نسبة الملف الأصلية، يعمد المتصفح افتراضياً إلى مط الصورة أو ضغطها لملء الصندوق قسراً؛ فتظهر الصور العريضة مضغوطة أفقياً داخل البطاقات المربعة وتبدو اللقطات الطولية مسطحة ومشوهة داخل اللافتات العريضة.
تعالج خاصية object-fit هذه المشكلة جذرياً عبر فصل أبعاد صندوق العنصر في التخطيط عن طريقة تحجيم وقص محتوى الوسائط المرسوم بداخله.
تعمل القيمة object-fit: cover; على تكبير أو تصغير الصورة والفيديو مع الحفاظ الصارم على النسبة الهندسية الأصلية حتى يغطي الوسيط كامل عرض الصندوق وارتفاعه معاً دون ترك أي فراغات جانبية، مع قص الأطراف الزائدة التي تتجاوز حدود الإطار تلقائياً.
لذلك تُعد القيمة cover الخيار القياسي لصور بطاقات المقالات والصور الرمزية ولافتات الواجهات ومعارض الصور الموحدة التي يرفع فيها المستخدمون ملفات بأحجام متباينة.
.card-photo {
width: 280px;
height: 160px;
object-fit: cover;
border-radius: 10px;
border: 2px solid #7750b2;
}
عندما يكون قص أي جزء من الصورة غير مقبول إطلاقاً — كما في شعارات الشركات والرسوم الهندسية والشهادات وصور المنتجات الكاملة في المتاجر — نستخدم القيمة object-fit: contain;؛ إذ يحجّم المتصفح الوسيط بالتناسب حتى يلامس بُعده الأكبر حافة الصندوق الداخلية مع إبقاء كامل تفاصيل الصورة ظاهرة دون اقتطاع.
ولأن نسبة الصورة قد تختلف عن نسبة الصندوق، تظهر مساحات فارغة أعلى الصورة وأسفلها أو على جانبيها؛ وهنا يمنح تنسيق العنصر بخلفية هادئة عبر background-color مع حشوة padding إطاراً أنيقاً ومتوازناً.
إلى جانب القيمتين cover و contain، توفر خاصية object-fit ثلاث قيم إضافية تعالج حالات تحجيم دقيقة:
- القيمة
fill— هي الوضع الافتراضي الأولي في المتصفح، وتمط الوسيط أفقياً وعمودياً لملء الصندوق متجاهلة نسبة أبعاده الأصلية. - القيمة
none— تعرض الصورة بأبعادها الحقيقية بالبكسل دون أي تكبير أو تصغير، مع قص الأجزاء الزائدة إن كان الصندوق أصغر منها. - القيمة
scale-down— تقارن تلقائياً بين نتيجتيnoneوcontainوتطبق الأصغر حجماً بينهما؛ ما يمنع تكبير الأيقونات الصغيرة وتشوشها داخل الصناديق الكبيرة مع تصغير الصور الضخمة بأمان.
مختبر مقارنة أوضاع object-fit التفاعلي
يوسّط المتصفح الوسائط أفقياً وعمودياً افتراضياً داخل الإطار وفق القيمة object-position: 50% 50%;. وعندما تقتطع القيمة object-fit: cover; صورة طولية داخل لافتة قصيرة الارتفاع، قد يؤدي التوسيط الآلي إلى قص الجزء العلوي الأهم من المشهد.
تمنحك خاصية object-position تحكماً دقيقاً في بؤرة التركيز البصري عبر الكلمات الاتجاهية مثل top و bottom و left و right أو عبر النسب المئوية مثل 50% 20% لإبقاء العنصر الرئيسي ظاهراً بوضوح داخل البطاقة.
.banner-top {
width: 300px;
height: 120px;
object-fit: cover;
object-position: 50% 15%;
border-radius: 8px;
}
تؤدي كتابة ارتفاع ثابت بالبكسل مثل height: 220px; إلى اختلال تناسب البطاقات المرنة عندما يضيق عرضها على الشاشات الصغيرة. وبدلاً من ذلك، يتيح الجمع بين width: 100%; وخاصية aspect-ratio — مثل 16 / 9 لواجهات الفيديو العريضة أو 4 / 3 للصور التحريرية أو 1 / 1 للبطاقات المربعة — حساب الارتفاع المتناسب تلقائياً في كل عرض.
والأهم هندسياً أن التصريح عن aspect-ratio مع object-fit: cover; يحجز المساحة الدقيقة للصورة فور قراءة الأنماط وقبل اكتمال تنزيل الملف عبر الشبكة، فيمنع قفز النصوص والمحتوى أثناء التحميل.
.wide-media {
width: 100%;
max-width: 320px;
aspect-ratio: 16 / 9;
object-fit: cover;
border-radius: 12px;
}
قبل الانتشار الشامل لخاصية object-fit، اعتاد كثيرون استبدال وسم <img> الدلالي بصناديق <div> فارغة منسقة عبر background-image و background-size: cover; لمجرد الحصول على قص متناسق. أما هندسياً اليوم، فيجب إبقاء كل صورة ذات معنى داخل وسم <img> مع object-fit للحفاظ على النص البديل وأرشفة محركات البحث، وقصر الخلفيات على الزخارف البحتة.
| معيار المقارنة | وسم <img> مع object-fit | خاصية background-image |
|---|---|---|
| قارئات الشاشة والنص البديل | مدعوم أصلياً عبر سمة alt الوصفية | غير مقروء افتراضياً لأدوات الوصول |
| أرشفة محركات البحث | يُفهرس مباشرة في نتائج بحث الصور | يُعامل كتنسيق زخرفي غير مفهرس |
| أدوات القص والتموضع | object-fit: cover; مع object-position | background-size: cover; مع background-position |
| الاستخدام الهندسي الأمثل | صور المنتجات والمقالات والشعارات والحسابات | النقوش الهندسية والخلفيات التجميلية فقط |
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
استخدم object-fit: cover; مع object-position لملء بطاقات الصور بالتناسب دون تشويه، واستخدم object-fit: contain; لإظهار الشعارات وصور المنتجات كاملة، وثبّت أبعاد الصناديق المرنة عبر aspect-ratio لمنع قفز التخطيط. الخطوة التالية — انتقل إلى درس التحكم في شكل القوائم في لغة CSS لإتقان تخصيص الرموز والترقيم وتجريد القوائم باحترافية.
سجّل الدخول لحفظ تقدمك
تابع إنجاز المواضيع والمصطلحات والمهام، وكمّل من آخر خطوة على أي جهاز.
المصطلحات4
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 object-fit ملاءمة الوسائط object-fit
- خاصية في لغة CSS تحدد طريقة تحجيم وقص محتوى العناصر المستبدلة مثل الصور والفيديو ليلائم صندوق العنصر.
- للمراجعة
- 02 object-position موضع الوسيط object-position
- خاصية تضبط محاذاة الصورة أو الفيديو أفقياً وعمودياً داخل الإطار للتحكم في بؤرة التركيز الظاهرة بعد القص.
- للمراجعة
- 03 aspect-ratio نسبة الأبعاد aspect-ratio
- خاصية تحدد النسبة الهندسية المفضلة بين العرض والارتفاع لحجز مساحة الوسائط ومنع قفز التخطيط أثناء التحميل.
- للمراجعة
- 04 Replaced Element العنصر المستبدل
- عنصر HTML مثل الصور والفيديو يُرسم محتواه من مورد خارجي يمتلك أبعاداً ونسبة عرض إلى ارتفاع أصلية.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
الاختصارات3
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 CLS CLS
- Cumulative Layout Shift
- مقياس أداء يقيس مقدار القفز البصري المفاجئ لعناصر الصفحة أثناء انتظار تنزيل الصور والوسائط.
- للمراجعة
- 02 SEO SEO
- Search Engine Optimization
- ممارسات تهيئة المحتوى لمحركات البحث، وتشمل استخدام وسم الصورة الدلالي المزود بنص بديل واضح.
- للمراجعة
- 03 CSS CSS
- Cascading Style Sheets
- لغة الأنماط الانسيابية المسؤولة عن تحجيم الوسائط وضبط نسب أبعادها ومظهرها البصري في صفحات الويب.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
مهامك قبل الاختبار
خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.
-
نسّق عنصر صورة بعرض 300px وارتفاع 140px مع تفعيل الملء المتناسب cover وتوجيه بؤرة القص نحو الجزء العلوي.
-
طبّق عرض 100% وحد أقصى 320px ونسبة أبعاد 16 على 9 مع القيمة cover لحجز مساحة الصورة ومنع اهتزاز الصفحة.
تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.
اختبر فهمك.
ووصلها للإتقان.
كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.
أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.
الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.