انتقل إلى محتوى الدرس
الدرس 68
دورة لغة CSS

ملاءمة أبعاد الصور والفيديو في لغة CSSCSS Object Fit

تعلم كيف تتحكم خصائص ملاءمة الوسائط وموضع البؤرة ونسبة الأبعاد في تحجيم الصور والفيديو داخل الصناديق الثابتة ومنع تشوهها وحجز مساحتها المتناسقة بوضوح.
أقسام الدرس
7
الأمثلة
3
اللغة
العربية
تاريخ النشر
غير محدد
المشاهدات
4
محتوى الدرس
في هذا الدرس 7تصفّح المواضيع

تأتي كل صورة أو مقطع فيديو بنسبة أبعاد أصلية تحددها أبعاد الملف الطبيعية بالبكسل. عندما تفرض على عنصر <img> أو <video> قيمتين ثابتتين لخاصيتي width و height لا تطابقان نسبة الملف الأصلية، يعمد المتصفح افتراضياً إلى مط الصورة أو ضغطها لملء الصندوق قسراً؛ فتظهر الصور العريضة مضغوطة أفقياً داخل البطاقات المربعة وتبدو اللقطات الطولية مسطحة ومشوهة داخل اللافتات العريضة.

تعالج خاصية object-fit هذه المشكلة جذرياً عبر فصل أبعاد صندوق العنصر في التخطيط عن طريقة تحجيم وقص محتوى الوسائط المرسوم بداخله.

مخطط توضيحي يقارن أوضاع ملاءمة الوسائط الثلاثة داخل إطار ثابت الأبعاد

تعمل القيمة object-fit: cover; على تكبير أو تصغير الصورة والفيديو مع الحفاظ الصارم على النسبة الهندسية الأصلية حتى يغطي الوسيط كامل عرض الصندوق وارتفاعه معاً دون ترك أي فراغات جانبية، مع قص الأطراف الزائدة التي تتجاوز حدود الإطار تلقائياً.

لذلك تُعد القيمة cover الخيار القياسي لصور بطاقات المقالات والصور الرمزية ولافتات الواجهات ومعارض الصور الموحدة التي يرفع فيها المستخدمون ملفات بأحجام متباينة.

CSS
.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% لإبقاء العنصر الرئيسي ظاهراً بوضوح داخل البطاقة.

CSS
.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; يحجز المساحة الدقيقة للصورة فور قراءة الأنماط وقبل اكتمال تنزيل الملف عبر الشبكة، فيمنع قفز النصوص والمحتوى أثناء التحميل.

CSS
.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-positionbackground-size: cover; مع background-position
الاستخدام الهندسي الأمثلصور المنتجات والمقالات والشعارات والحساباتالنقوش الهندسية والخلفيات التجميلية فقط
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

استخدم object-fit: cover; مع object-position لملء بطاقات الصور بالتناسب دون تشويه، واستخدم object-fit: contain; لإظهار الشعارات وصور المنتجات كاملة، وثبّت أبعاد الصناديق المرنة عبر aspect-ratio لمنع قفز التخطيط. الخطوة التالية — انتقل إلى درس التحكم في شكل القوائم في لغة CSS لإتقان تخصيص الرموز والترقيم وتجريد القوائم باحترافية.

مشاركة

هل كان هذا الدرس مفيدًا؟

جارٍ تحميل الآراء…

ابنِ لغتك البرمجية

المصطلحات4

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 4 مفهومةأول بطاقة، أول خطوة
01 object-fit ملاءمة الوسائط object-fit
خاصية في لغة CSS تحدد طريقة تحجيم وقص محتوى العناصر المستبدلة مثل الصور والفيديو ليلائم صندوق العنصر.
للمراجعة
02 object-position موضع الوسيط object-position
خاصية تضبط محاذاة الصورة أو الفيديو أفقياً وعمودياً داخل الإطار للتحكم في بؤرة التركيز الظاهرة بعد القص.
للمراجعة
03 aspect-ratio نسبة الأبعاد aspect-ratio
خاصية تحدد النسبة الهندسية المفضلة بين العرض والارتفاع لحجز مساحة الوسائط ومنع قفز التخطيط أثناء التحميل.
للمراجعة
04 Replaced Element العنصر المستبدل
عنصر HTML مثل الصور والفيديو يُرسم محتواه من مورد خارجي يمتلك أبعاداً ونسبة عرض إلى ارتفاع أصلية.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

حروف قليلة. معنى كامل.

الاختصارات3

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 3 مفهومةأول بطاقة، أول خطوة
01 CLS CLS
Cumulative Layout Shift
مقياس أداء يقيس مقدار القفز البصري المفاجئ لعناصر الصفحة أثناء انتظار تنزيل الصور والوسائط.
للمراجعة
02 SEO SEO
Search Engine Optimization
ممارسات تهيئة المحتوى لمحركات البحث، وتشمل استخدام وسم الصورة الدلالي المزود بنص بديل واضح.
للمراجعة
03 CSS CSS
Cascading Style Sheets
لغة الأنماط الانسيابية المسؤولة عن تحجيم الوسائط وضبط نسب أبعادها ومظهرها البصري في صفحات الويب.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

من الفهم للتطبيق

مهامك قبل الاختبار

خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.

0/2مهام منجزة
  1. نسّق عنصر صورة بعرض 300px وارتفاع 140px مع تفعيل الملء المتناسب cover وتوجيه بؤرة القص نحو الجزء العلوي.

  2. طبّق عرض 100% وحد أقصى 320px ونسبة أبعاد 16 على 9 مع القيمة cover لحجز مساحة الصورة ومنع اهتزاز الصفحة.

تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.

مساحة التحدي

اختبر فهمك.
ووصلها للإتقان.

كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.

8أسئلة 2أنواع تحديات 100%هدف الإتقان
تصحيح تلقائي. فرص بلا حدود.

أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.

الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.

لمحة عن التحدي8 أسئلة تنتظرك
01

أي قيمة لخاصية object-fit تملأ الصندوق بالكامل مع الحفاظ على التناسب وقص الحواف الزائدة؟

02

أي قيمة لخاصية object-fit تضمن ظهور كامل الشعار أو صورة المنتج داخل الصندوق دون أي قص؟

03

ما القيمة الافتراضية الأولية لخاصية object-fit في المتصفحات؟

04

كيف تتعامل القيمة scale-down مع أيقونة صغيرة بعرض 48px موضوعة داخل صندوق عرضه 300px؟

05

ما الخاصية التي تحافظ على ظهور الجزء العلوي من صورة طولية عند قصها عبر object-fit: cover؟

06

لماذا يجمع المطورون بين width: 100% وخاصية aspect-ratio: 16 / 9 على صور المقالات؟

07

توسّط القيمة الافتراضية لخاصية object-position الوسائط عند 50% أفقياً و 50% عمودياً.

08

يُفضّل وضع صور المنتجات الأساسية كخلفية CSS بدلاً من وسم img لكي تتجاهلها قارئات الشاشة.