انتقل إلى محتوى الدرس
الدرس 55
تاريخ النشر: تاريخ التحديث:
دورة لغة CSS

خاصية min-height للتحكم في أدنى طول للعنصر في لغة CSSCSS Min Height طريقة ضبط أدنى ارتفاع بوحدات الطول، ومفهوم ضمان أدنى ارتفاع للعنصر، وملء الشاشة عبر min-height

اضمن حداً أدنى موثوقاً لطول البطاقات والأقسام عبر خاصية min-height في لغة CSS لتحافظ على تناسق الواجهة مع المحتوى القصير وتسمح للصندوق بالتمدد التلقائي الآمن عند زيادة النص.
أقسام الدرس
5
الأمثلة
3
اللغة
العربية
المشاهدات
2,900
محتوى الدرس
في هذا الدرس 5تصفّح المواضيع

رأيت في درس الارتفاع خطورة فرض طول جامد مثل height: 180px على بطاقة نصية؛ فبمجرد إضافة جمل عربية أطول أو تكبير القارئ لحجم الخط تفيض الأسطر خارج الإطار السفلي! وفي المقابل، قد يؤدي ترك height: auto وحدها على بطاقة تحوي كلمتين فقط إلى انكماشها بشكل مخل بتناسق الواجهة.

تمنحك خاصية min-height الحل الهندسي الأمثل الذي يجمع بين أرضية طول مضمونة وتمدد آمن غير مقيد:

  • مع المحتوى القصير جداً: تحافظ بطاقة بقاعدة min-height: 180px على حضور بصري متناسق بطول 180px حتى لو لم تضم سوى عنوان مقتضب.
  • مع المحتوى الغزير الطويل: إذا احتاجت الفقرة المشروحة إلى 290px، يتمدد إطار البطاقة بسلاسة تامة إلى 290px ليحتوي كل حرف دون أي فيضان أو تصادم!

عند تصميم مكونات الواجهة مثل بطاقات المزايا، صناديق الحالة الفارغة قبل وصول البيانات، أو مساحات الملاحظات، يمنحك ضبط min-height بوحدتي px أو rem اتزاناً بصرياً أنيقاً دون أدنى مخاطرة بقص النصوص الطويلة.

كما يساعد اختيار وحدة rem مثل min-height: 11rem مع box-sizing: border-box على تناسب الحد الأدنى لطول البطاقة تلقائياً كلما عدّل الزائر حجم الخط الافتراضي في متصفحه.

مخطط يوضح حفاظ min-height على حد أدنى 180px مع النص القصير وتمدده الآمن إلى 290px مع النص الغزير وملء الشاشة عبر 100dvh
CSS
.feature-card {
  min-height: 130px;
  padding: 16px;
  box-sizing: border-box;
  border: 2px solid #7750b2;
}

من أهم القواعد الذهبية في بناء واجهات الويب الاحترافية تفضيل min-height: 100vh أو min-height: 100dvh دائماً على height: 100vh الجامدة عند تصميم أقسام الترحيب الممتدة على كامل الشاشة أو الغلاف العام للصفحة!

والسبب واضح؛ فعلى الشاشات المكتبية الواسعة يملأ كلاهما طول النافذة بالجمال نفسه، لكن عندما يقلب الزائر هاتفه إلى الوضع الأفقي القصير أو يكبّر الصفحة بنسبة 150%، تحبس height: 100vh إطار القسم فتفيض العناوين والأزرار فوق القسم التالي! أما min-height: 100dvh فتغطي كامل النافذة كحد أدنى، وتتمدد للأسفل بأمان تام متى احتاج المحتوى مساحة أطول.

CSS
body {
  margin: 0;
}
.welcome-screen {
  min-height: 100dvh;
  padding: 32px;
  box-sizing: border-box;
}

تتبع النسب المئوية في خاصية min-height القاعدة نفسها الخاصة بارتفاع الأب؛ فلا بد أن يمتلك العنصر الأب ارتفاعاً صريحاً محدداً حتى تُترجم قاعدة مثل min-height: 60% على الابن إلى حد أدنى فعلي بالبكسل، وإلا آلت النسبة إلى الصفر عند بقاء الأب على height: auto.

عندما تمنح حاوية أب طولاً صريحاً مثل height: 220px، تضمن قاعدة min-height: 60% أن يبدأ اللوح الابن بطول لا يقل عن 132px مع احتفاظه بحرية التمدد إن زادت فقراته.

CSS
.stage-box {
  height: 200px;
  padding: 12px;
  box-sizing: border-box;
}
.inner-panel {
  min-height: 60%;
  padding: 12px;
}

ماذا يحدث لو اجتمعت خصائص الارتفاع الثلاث في تعارض مباشر على عنصر واحد، كأن تكتب معاً height: 100px و max-height: 140px و min-height: 200px؟ تنص مواصفة W3C القياسية لتحجيم الصناديق على قاعدة حاسمة: تمتلك min-height الأولوية العليا النهائية دائماً؛ إذ تطبَّق max-height أولاً ثم تأتي min-height لترفع النتيجة إلى حدها الأدنى، فيُحسم الطول النهائي عند 200px!

اختبر هذا التفوق عملياً في المختبر التفاعلي التالي، ثم راجع الجدول الشامل لقواعد الارتفاع الثلاث:

الخاصيةالقيمة الابتدائيةالوظيفة الهندسية الأساسيةالأولوية عند التعارض
heightautoتحدد الطول المفضل لمنطقة المحتوىتخضع لكل من max-height و min-height
max-heightnoneتضع سقفاً علوياً يمنع التمدد الزائدتتغلب على height الأكبر وتخضع لـ min-height الأكبر
min-heightautoتضمن أرضية طول دنيا مع حرية التمددالفائز الأعلى دائماً عند الزيادة على القيمتين
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

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

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

في ملخص الدرس أتقنت توظيف min-height لضمان حد أدنى متناسق يتمدد بأمان مع النصوص الغزيرة، وميزة min-height: 100dvh في أقسام ملء الشاشة، وتفوق min-height الحاسم عند التعارض مع height و max-height. في الخطوة التالية ننتقل إلى درس خاصية max-width للتحكم في أقصى عرض للعنصر في لغة CSS لبناء حاويات أفقية مرنة ومتجاوبة.

مشاركة

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

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

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

المصطلحات4

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

0 / 4 مفهومةأول بطاقة، أول خطوة
01 Minimum Height Floor الحد الأدنى للارتفاع
طول ابتدائي مضمون يُحدد عبر خاصية min-height لمنع انكماش العناصر القصيرة مع السماح للمحتوى الطويل بالتمدد بحرية.
للمراجعة
02 Safe Viewport Section قسم ملء النافذة الآمن
استخدام min-height: 100vh أو 100dvh بدلاً من الطول الجامد ليغطي القسم الشاشة ويتمدد بأمان عند تكبير الخط.
للمراجعة
03 Vertical Sizing Precedence أولوية خصائص الارتفاع
القاعدة القياسية في CSS التي تمنح min-height التفوق النهائي على كل من height و max-height عند التعارض.
للمراجعة
04 Placeholder Floor حجز المساحة المسبق
منح حاويات الوسائط قيمة min-height لحجز مكانها ومنع قفز التخطيط أثناء اكتمال تحميل الصور أو الرسوم.
للمراجعة

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

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

الاختصارات3

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

0 / 3 مفهومةأول بطاقة، أول خطوة
01 DVH DVH
Dynamic Viewport Height
تُقترن غالباً مع min-height: 100dvh لبناء أقسام تملأ شاشة الهاتف دون قص المحتوى السفلي.
للمراجعة
02 W3C W3C
World Wide Web Consortium
منظمة المعايير العالمية التي تحدد مواصفة تحجيم الصناديق وتفوق خاصية min-height عند التعارض.
للمراجعة
03 UI UI
User Interface
واجهة المستخدم ومكوناتها البصرية كالبطاقات واللافتات التي يعتمد اتزانها الطولي على min-height.
للمراجعة

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

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

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

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

0/2مهام منجزة
  1. افتح مثال البطاقات القابلة للتمدد وكرر الجملة داخل البطاقة الأولى ثلاث مرات لتتحقق من تمدد إطارها بسلاسة فوق 130px دون فيضان.

  2. في مثال ملء النافذة أضف أربع فقرات إضافية داخل .welcome-screen وتأكد أن القسم التالي يبقى أسفله بانتظام دون أي تداخل نصي.

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

مساحة التحدي

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

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

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

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

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

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

لماذا تُعد قاعدة min-height: 180px أكثر أماناً من height: 180px على البطاقات النصية المتغيرة؟

02

إذا اجتمعت على عنصر واحد القواعد height: 90px و max-height: 130px و min-height: 190px معاً، فكم يبلغ طوله النهائي المحسوب؟

03

أي قاعدة يُنصح بها لأقسام الواجهة الممتدة على الشاشة كي لا تتداخل نصوصها مع القسم التالي عند تكبير الخط أو تدوير الهاتف؟

04

ما الشرط الواجب توفره في الحاوية الأب حتى تعمل قاعدة min-height: 60% على العنصر الابن؟

05

إذا كانت لبطاقة قاعدة min-height: 150px واحتاج نصها الطويل إلى 280px، فكم سيبلغ طول البطاقة المرسوم؟

06

لماذا يمنح المطورون قيمة min-height للحاويات المحيطة بالرسوم البيانية أو الصور قيد التحميل؟

07

عندما تكون قيمة min-height أكبر من قيمة max-height على العنصر نفسه، تفوز min-height وتحدد الطول النهائي المرسوم.

08

يمنع تعيين min-height: 200px العنصر من التمدد لأكثر من 200px عند إضافة فقرات نصية جديدة.