شرح block vs inline vs inline-block في CSS — متى تستخدم كل نوع؟

بعد أن فهمت خاصية display، لازم تميّز بدقة بين أشهر أنواع العرض: block وinline وinline-block.

إذا كنت تبحث عن الفرق بين block و inline في CSS أو متى أستخدم inline-block أو لماذا width لا تعمل على span، فهذا الدرس يجيبك مباشرة.

الفرق بين block و inline و inline-block في CSS

السلوك block inline inline-block
يبدأ سطر جديد؟ نعم لا لا
يقبل width/height؟ نعم غالباً لا نعم
يأخذ عرض السطر كاملاً؟ نعم غالباً لا لا
مناسب للبطاقات/الأزرار؟ نعم محدود نعم جداً

display: block في CSS

عناصر block مثل div وp وh1 تبدأ في سطر جديد وتأخذ مساحة أفقية واسعة.

.item {
    display: block;
    width: 180px;
    padding: 8px;
}

ماذا يفعل هذا الكود؟ يجعل كل عنصر في سطر منفصل مع عرض محدد.

النتيجة المتوقعة: العناصر ترتّب عمودياً.

خطأ شائع: توقع ظهور العناصر بجانب بعضها رغم أنها block.

النتيجة في المتصفح:

Block 1 Block 2

display: inline في CSS

عناصر inline مثل span وa تظهر بجانب بعضها داخل نفس السطر. لكنها لا تتعامل مع width/height مثل block.

.item {
    display: inline;
    width: 180px;   /* غالباً لا يعمل كما تتوقع */
    height: 60px;   /* غالباً لا يعمل كما تتوقع */
}

ماذا يفعل هذا الكود؟ يبقي العناصر داخل السطر، ويتجاهل أبعاداً ثابتة في كثير من الحالات.

النتيجة المتوقعة: سلوك نصّي أكثر من كونه صندوقاً.

خطأ شائع: استخدام inline ثم الاستغراب أن width لا تتطبق.

النتيجة في المتصفح:

Inline 1 Inline 2 Inline 3

display: inline-block في CSS (الحل الهجين)

inline-block يجمع أفضل ما في النوعين: يظهر بجانب العناصر مثل inline، ويقبل width/height مثل block.

.card {
    display: inline-block;
    width: 120px;
    height: 90px;
    margin: 6px;
    padding: 8px;
}

ماذا يفعل هذا الكود؟ ينشئ صناديق بجانب بعضها بأبعاد ثابتة.

سطر بسطر:

  • inline-block: صف أفقي مع تحكم كامل بالأبعاد.
  • width/height: توحيد حجم البطاقات.
  • margin/padding: فراغات داخلية وخارجية طبيعية.

النتيجة المتوقعة: ترتيب شبكي بسيط قبل Flexbox.

خطأ شائع: نسيان وجود مسافة HTML بين العناصر قد تخلق فراغاً إضافياً صغيراً.

النتيجة في المتصفح:

Box 1
Box 2
Box 3

متى أستخدم block ومتى inline ومتى inline-block؟

  • block: للأقسام الكبيرة مثل cards, sections, headers.
  • inline: لعناصر النص داخل السطر مثل الروابط والكلمات.
  • inline-block: للعناصر الصغيرة المتجاورة مع أبعاد واضحة (أزرار/قوائم بسيطة).
نصيحة عملية: في المشاريع الحديثة، الكثير من تخطيطات الصفوف/الأعمدة تُنفذ الآن بـ Flexbox وGrid، لكن فهم inline-block يبقى أساسياً.

أخطاء شائعة في Display Types in CSS

١) تطبيق width على inline: النتيجة غالباً غير متوقعة.

٢) استخدام block لعناصر تريدها بجانب بعضها: تظهر في أسطر منفصلة.

٣) نسيان المسافات بين inline-block: قد يظهر فراغ بسيط إضافي.

الأسئلة الشائعة — FAQ (أسئلة بحثية شائعة)

ما الفرق بين block و inline في CSS؟

block يبدأ سطر جديد ويقبل الأبعاد، inline يبقى داخل السطر ولا يتعامل مع الأبعاد بنفس الطريقة.

متى أستخدم inline-block في CSS؟

عندما تريد عناصر بجانب بعضها مع تحكم في width/height.

لماذا width لا تعمل على span في CSS؟

لأن span inline افتراضياً؛ استخدم display: inline-block أو block.

هل inline-block قديم في CSS؟

ليس قديماً، لكنه أقل استخداماً في التخطيطات المعقدة مقارنة بـ Flexbox وGrid.

كيف أجعل العناصر في نفس السطر وتقبل الأبعاد؟

استخدم display: inline-block أو Flexbox حسب الحالة.

جرّب الآن: أنشئ 3 عناصر وبدّل display بينها block وinline وinline-block لمقارنة السلوك عملياً.
ممتاز! الآن أتقنت أنواع display الأساسية في CSS. في الدرس القادم سنتعلم Position لتحريك العناصر بدقة داخل الصفحة.
المحرر الذكي

اكتب الكود وشاهد النتيجة فوراً

جرب الآن مجاناً
قناة ديف عربي

تابع أحدث الدروس والتحديثات مباشرة على واتساب

انضم الآن