Menu
flag Ar iconالعربيةdown icon

الحدود border في CSS: العرض والنمط واللون وborder-radius

ترسم الخاصية border خطًا حول حشو العنصر. تعلّم اختصار border، وكل أنماط الحدود، والألوان والجوانب المفردة، والزوايا المستديرة بـ border-radius، والفرق بين الحدود والإطار الخارجي outline.

تحتوي هذه الصفحة على محررات قابلة للتشغيل - حرّر، شغّل، وشاهد النتيجة فوراً.

اختصار border

ترسم border خطًا حول العنصر، بين حشوه وهامشه. يقبل الاختصار ثلاثة أجزاء بأي ترتيب: العرض والنمط واللون.

الجزءالخاصية المفصلةالقيمالافتراضي
العرضborder-width1px، 0.2em، thin، medium، thickmedium
النمطborder-stylesolid، dashed، dotted، double، وغيرهاnone
اللونborder-colorأي لونcurrentColor (لون النص)

النمط هو الجزء الذي لا يمكنك تخطيه. قيمته الافتراضية none، لذلك لا يرسم border: 2px #2563eb; شيئًا على الإطلاق. وإن تركت اللون، يأخذ الحد لون نص العنصر.

أنماط الحدود

يحتاج double إلى 3px على الأقل كي يظهر خطان. تظلّل groove وridge وinset وoutset اللون ليبدو ثلاثي الأبعاد، وتختلف قليلًا بين المتصفحات. يبدو hidden مثل none؛ ولا يختلفان إلا داخل الجداول ذات الحدود المدمجة، وهو ما تشرحه صفحة حدود الجداول في HTML.

جانب واحد في كل مرة

لكل جانب اختصاره (border-top وborder-right وborder-bottom وborder-left)، ولكل جزء خصائص مفصلة لكل جانب مثل border-top-color. والنسخ المنطقية، border-inline-start وborder-block-end، تتبع اتجاه النص (في صفحة عربية تكون البداية على اليمين):

تقبل border-color وborder-width وborder-style من قيمة إلى أربع قيم بترتيب عقارب الساعة نفسه الذي في padding: الأعلى، اليمين، الأسفل، اليسار.

الزوايا المستديرة بـ border-radius

تدوّر border-radius زوايا الحد والخلفية، لذلك تعمل على العناصر التي لا حد لها أصلًا.

القيمةالنتيجة
border-radius: 8pxكل الزوايا مستديرة بمقدار 8px
border-radius: 50%دائرة على عنصر مربع، وشكل بيضاوي على مستطيل
border-radius: 999pxكبسولة: يصبح الضلعان القصيران نصفي دائرة كاملين
border-radius: 8px 0الزاويتان العلوية اليسرى والسفلية اليمنى 8px، والأخريان مربعتان
border-top-left-radius: 12pxزاوية واحدة فقط
border-radius: 50% / 25%زوايا بيضاوية: نصف القطر الأفقي / نصف القطر العمودي

قد يبرز ابن له خلفية خارج زوايا أبيه المستديرة. overflow: hidden على الأب تقصّه على المنحنى.

الفرق بين border وoutline

الإطار الخارجي outline يشبه الحد لكنه يُرسم خارجه ولا يشغل مساحة، فإضافته لا تحرّك شيئًا أبدًا. لهذا تستخدم المتصفحات الإطار الخارجي لحلقات التركيز.

الحد borderالإطار الخارجي outline
يشغل مساحةنعم، جزء من حجم الصندوقلا
لكل جانبنعم (border-top، ...)لا، حول العنصر كله
يتبع border-radiusنعمنعم، في المتصفحات الحالية
إزاحة عن الصندوقلانعم، outline-offset
الاستخدام المعتادالتصميممؤشرات التركيز، وتصحيح الأخطاء

أخطاء شائعة

  • لا نمط للحد. border: 1px #111827; وborder-color: red; لا يرسمان شيئًا. أضف solid (أو نمطًا آخر).
  • حد يجعل التخطيط يقفز عند التمرير. احجز المساحة بحد شفاف، أو استخدم outline أو box-shadow.
  • نسيان الحد في حساب العرض. العنصر width: 100% مع حد يتجاوز حاويته تحت content-box. استخدم box-sizing: border-box.
  • border-radius مع ابن يبرز من الزوايا. أضف overflow: hidden إلى الأب المستدير.
  • إزالة إطارات التركيز بـ outline: none. مستخدمو لوحة المفاتيح يحتاجونها؛ أعد تنسيق الإطار بدل حذفه.

الأسئلة الشائعة

كيف أضيف حدًا في CSS؟

استخدم الاختصار مع عرض ونمط ولون: border: 2px solid #2563eb;. النمط هو الجزء الأهم: من دونه يكون نمط الحد none ولا يُرسم أي حد.

لماذا لا يظهر الحد border عندي؟

في الغالب لأنه لم يُضبط نمط للحد. border: 2px #2563eb; أو border-color: red; وحدهما لا يرسمان شيئًا، لأن border-style الافتراضي هو none. أضف solid أو dashed أو نمطًا آخر.

كيف أصنع زوايا مستديرة في CSS؟

استخدم border-radius: border-radius: 8px; تدوّر الزوايا الأربع. وborder-radius: 50%; على مربع تصنع دائرة، وقيمة كبيرة مثل 999px تصنع شكل الكبسولة. وتدوّر الخلفية أيضًا، حتى من دون حد.

كيف أضيف حدًا إلى جانب واحد فقط؟

استخدم خاصية الجانب: border-bottom: 2px solid #e5e7eb;، أو border-inline-start للجانب الذي يبدأ منه النص، وهي تعمل أيضًا مع اللغات التي تُكتب من اليمين إلى اليسار (في العربية تكون البداية على اليمين).

ما الفرق بين border وoutline؟

الحد جزء من الصندوق: يشغل مساحة ويغيّر حجم العنصر. أما الإطار الخارجي outline فيُرسم خارج الحد من دون أن يشغل مساحة، ولا يمكن ضبطه لكل جانب، وهو ما تستخدمه المتصفحات لحلقات التركيز. كلاهما يتبع border-radius في المتصفحات الحالية.

Coddy programming languages illustration

تعلّم البرمجة مع Coddy

ابدأ الآن