CSS: عرض وارتفاع وفيضان CSS

آخر تحديث: 2026-10-13

خصائص هذا القسم: width height min-width max-width min-height max-height overflow overflow-x overflow-y text-overflow object-fit

1. العرض والارتفاع

(1) مرجع سريع لخصائص الأبعاد

الخاصية القيم الشائعة الغرض
width 300px، 50%، 50vw، auto عرض محتوى العنصر
height 200px، 50%، 50vh، auto ارتفاع محتوى العنصر
min-width 320px، 50% عرض أدنى (يمنع صغر الحجم الزائد)
max-width 1200px، 80% عرض أقصى (شائع في التصميم المتجاوب)
min-height 200px، 100vh ارتفاع أدنى
max-height 400px ارتفاع أقصى (يفيض عند تجاوزه)
overflow visible، hidden، scroll، auto كيفية معالجة المحتوى الفائض
overflow-x visible، hidden، scroll، auto التحكم في الفيضان الأفقي
overflow-y visible، hidden، scroll، auto التحكم في الفيضان العمودي

(2) العرض والارتفاع

width وheight تُعيّنان أبعاد منطقة محتوى العنصر:

▶ مثال

▶ جرّب الكود

(3) الوحدات الشائعة

▶ مثال

▶ جرّب الكود

(4) min-width / max-width

يحدان الحد الأدنى/الأقصى لعرض العنصر، يُستخدمان بشكل شائع في التصميم المتجاوب:

▶ مثال

▶ جرّب الكود

(5) min-height / max-height

▶ مثال

▶ جرّب الكود

2. دالة calc()

calc() هي دالة CSS تتيح العمليات الحسابية (جمع، طرح، ضرب، قسمة) في قيم الخصائص. أكبر ميزة لها هي خلط وحدات مختلفة.

📌 قواعد calc(): + و- يجب أن تكون لهما مسافات على كلا الجانبين (calc(100% - 20px) ✅، calc(100%-20px) ❌)، مسافات * و/ اختيارية.

▶ مثال

▶ جرّب الكود

(1) حالات الاستخدام الشائعة

  1. شريط جانبي + محتوى رئيسي: .main { width: calc(100% - 300px); } يتكيف مع المساحة المتبقية
  2. بطاقات متساوية المسافات: .card { width: calc((100% - 40px) / 3); } ثلاثة أعمدة بفجوات 20px
  3. خط متجاوب: font-size: calc(14px + 0.5vw); حجم أساسي + زيادة منفذ العرض
  4. توسيط دقيق: left: calc(50% - 100px); إزاحة معروفة بديلة لـ transform

(2) توافق calc()

calc() مدعوم في IE11+، Chrome 26+، Firefox 16+، Safari 7+ ويمكن استخدامها بأمان في المشاريع الحديثة. فقط تجنب تسلسل النصوص في calc().


3. التحكم في الفيضان

💡 overflow-x وoverflow-y: عند تعيين الفيضان الأفقي والعمودي بقيم مختلفة، قد يُجبر أحدهما على auto. أفضل ممارسة هي استخدام اختصار overflow.

عندما يتجاوز محتوى العنصر العرض/الارتفاع المُعيَّن، يحدث "فيضان". خاصية overflow تتحكم في كيفية معالجة المحتوى الفائض.

(1) قيم overflow

▶ مثال

▶ جرّب الكود

(2) التحكم في كل اتجاه

▶ مثال

▶ جرّب الكود

(3) حالات الاستخدام الشائعة

1. حذف النص بعلامة القطع

مُدمج مع text-overflow لحذف سطر واحد من النص:

▶ مثال

▶ جرّب الكود

2. قص الصور

حاوية بحجم ثابت مع فيضان مخفي للصور:

▶ مثال

▶ جرّب الكود

3. حاوية تمرير

إنشاء منطقة قابلة للتمرير بارتفاع ثابت:

▶ مثال

▶ جرّب الكود

4. مسح الطفو

تعيين overflow: hidden أو overflow: auto على الأصل يمسح تأثيرات طفو الابن:

▶ مثال

▶ جرّب الكود

4. object-fit (تكيف الصور/الفيديو)

object-fit يتحكم في كيفية تكيف عناصر الاستبدال <img> أو <video> مع حجم الحاوية:

▶ مثال

▶ جرّب الكود

5. دوال الأبعاد CSS

(1) calc()

calc() تتيح حسابات الأبعاد الديناميكية في CSS، خلط وحدات مختلفة:

▶ مثال

▶ جرّب الكود

ملاحظة: العوامل يجب أن تكون لها مسافات على كلا الجانبين، وإلا لن يتم التعرف عليها.



خصائص هذا القسم: width height min-width max-width min-height max-height overflow overflow-x overflow-y text-overflow object-fit

❓ أسئلة شائعة

س لماذا لا يعمل height: 100%؟
ج الارتفاع النسبي يعتمد على ارتفاع الأصل. إذا كان ارتفاع الأصل auto (يحدده المحتوى)، ارتفاع الابن: 100% لا يمكن حسابه — لأن الأصل لم يحدد ارتفاعه بعد. لجعل الارتفاعات النسبية تعمل، يحتاج الأصل إلى قيمة ارتفاع صريحة.
س ما الفرق بين max-width: 100% وwidth: 100%؟
ج width: 100% يُجبر العنصر على مساواة عرض الأصل، حتى لو كان المحتوى صغيراً. max-width: 100% يعني "لا تتجاوز عرض الأصل أبداً" — إذا كان العنصر أصغر طبيعياً، يبقى أصغر. استخدام max-width: 100% للصور المتجاوبة هو أفضل ممارسة.
س هل overflow: hidden يخفي جميع المحتوى الفائض؟
ج نعم. overflow: hidden يقص جميع المحتوى الذي يتجاوز أبعاد العنصر. إذا كنت بحاجة للتمرير عبر المحتوى الفائض، استخدم overflow: auto (شريط التمرير يظهر عند الحاجة) أو overflow: scroll (يُظهر شريط التمرير دائماً). overflow: hidden يُستخدم أيضاً بشكل شائع لتشغيل BFC (سياق تنسيق القطعة) لحل مشاكل الطفو.

📖 ملخص

📝 تمارين

  1. أنشئ "حاوية متجاوبة" — عرض 80%، عرض أقصى 1200px، عرض أدنى 320px، مُوَسَّطة أفقياً.
  2. أنشئ حاوية صورة بحجم ثابت (300×200) بصورة أكبر، باستخدام object-fit: cover لملء without تشويه.
  3. نفّذ تأثيرات "حذف سطر واحد بعلامة القطع" و"فيضان نص متعدد الأسطر" (تلميح: الأسطر المتعددة تستخدم -webkit-line-clamp).
  4. استخدم calc() لتنفيذ تخطيط "شاشة كاملة ناقص ارتفاع شريط التنقل".
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%