الحدود
- مفهوم الحدود
- تحديد شكل حدود العنصر
- تحديد سمك الحدود
- تحديد لون الحدود
- تحديد شكل و سمك و لون كل جهة من الحدود
- تعريف كل خصائص الحدود بسطر واحد
- تحديد شكل زواية الحدود
مفهوم الحدود
أي عنصر تضيفه في الصفحة، يمكنك إظهار حدود بالشكل الذي تراه مناسباً حيث يمكنك إظهار حدوده من كل الجهات أو من جهات محددة، تحديد سمك و شكل و لون الحدود، بالإضافة إلى تحديد ما إن كانت زوايا الحدود ستظهر بشكل حاد أو دائري.
بشكل عام، حتى تُظهر حدود العنصر عليك تحديد نوع حدوده و من ثم التلاعب بالألوان و الزوايا كما تريد.
تحديد شكل حدود العنصر
لتحديد شكل الحدود نضيف الخاصية border-style و من ثم نمرر لها إحدى القيم التالية:
dottedلإظهار الحدود كنقط.dashedلإظهار الحدود كخط متقطع.solidلإظهار الحدود كخط.doubleلإظهار الحدود كخط مزدوج.grooveلإظهار الحدود بشكل ثلاثي الأبعاد و كأنها أخدود.ridgeلإظهار الحدود بشكل ثلاثي الأبعاد و كأنها قمة.insetلإظهار الحدود بشكل ثلاثي الأبعاد و كأن عليها ضوء من الجهة السفلية ناحية اليمين.outsetلإظهار الحدود بشكل ثلاثي الأبعاد و كأن عليها ضوء من الجهة العلوية ناحية اليسار.noneلإزالة الحدود.hiddenلإخفاء الحدود.
الإختلاف بين none و hidden تلاحظه فقط في حال كنت تتعامل مع عناصر متلاصقة تتشارك نفس الحدود مثل حدود العناصر <td> و <th> في الجداول. هنا إذا كانت كل خلايا الجدول مدموجة بواسطة الخاصية border-collapse:collapse; فإن القيمة hidden تقوم بإخفاء الحدود في حين أن القيمة none لا تلغيها. هذا مثال عملي يوضح الإختلاف بينهما.
في المثال التالي قمنا بتعريف كلاسات CSS عند إضافتها للعناصر فإنها تظهر حدود لها شكل محدد حولها.
لتبسيط الشرح جعلنا أسماء الكلاسات مثل أسماء أشكال الحدود التي تظهرها.
مثال
.dotted { border-style: dotted; } .dashed { border-style: dashed; } .solid { border-style: solid; } .double { border-style: double; } .groove { border-style: groove } .ridge { border-style: ridge; } .inset { border-style: inset; } .outset { border-style: outset; } .none { border-style: none; } .hidden { border-style: hidden; }
إذا قمت بتمرير قيمتين للخاصية border-style سيحدث التالي:
- القيمة الأولى ستمثل شكل الحدود في الأعلى و الأسفل.
- القيمة الثانية ستمثل شكل الحدود في جهة اليمين و اليسار.
إذا قمت بتمرير ثلاث قيم للخاصية border-style سيحدث التالي:
- القيمة الأولى ستمثل شكل الحدود في الأعلى.
- القيمة الثانية ستمثل شكل الحدود في جهة اليمين و اليسار.
- القيمة الثالثة ستمثل شكل الحدود في الأسفل.
إذا قمت بتمرير أربع قيم للخاصية border-style سيحدث التالي:
- القيمة الأولى ستمثل شكل الحدود في الأعلى.
- القيمة الثانية ستمثل شكل الحدود في جهة اليمين.
- القيمة الثالثة ستمثل شكل الحدود في الأسفل.
- القيمة الرابعة ستمثل شكل الحدود في جهة اليسار.
تحديد سمك الحدود
لتحديد سمك الحدود نضيف الخاصية border-width و من ثم نمرر لها إحدى القيم التالية:
thinلجعل الحدود رفيعة السمك.mediumلجعل الحدود متوسط السمك.thickلجعل الحدود عريضة السمك.- رقم بالبكسل
pxأو بوحدة قياس أخرى ليمثل سمك الحدود.
في المثال التالي قمنا بتعريف كلاسات CSS عند إضافتها للعناصر فإنها تظهر حدود أحجامها مختلفة.
مثال
.one { border-style: double; border-width: 5px; } .two { border-style: solid; border-width: medium; } .three { border-style: dotted; border-width: thick; }
إذا قمت بتمرير قيمتين للخاصية border-width سيحدث التالي:
- القيمة الأولى ستمثل سمك الحدود في الأعلى و الأسفل.
- القيمة الثانية ستمثل سمك الحدود في جهة اليمين و اليسار.
إذا قمت بتمرير ثلاث قيم للخاصية border-width سيحدث التالي:
- القيمة الأولى ستمثل سمك الحدود في الأعلى.
- القيمة الثانية ستمثل سمك الحدود في جهة اليمين و اليسار.
- القيمة الثالثة ستمثل سمك الحدود في الأسفل.
إذا قمت بتمرير أربع قيم للخاصية border-width سيحدث التالي:
- القيمة الأولى ستمثل سمك الحدود في الأعلى.
- القيمة الثانية ستمثل سمك الحدود في جهة اليمين.
- القيمة الثالثة ستمثل سمك الحدود في الأسفل.
- القيمة الرابعة ستمثل سمك الحدود في جهة اليسار.
تحديد لون الحدود
لتلوين حدود العنصر نستخدم الخاصية border-color و اللون نضعه لها كقيمة من خلال إسمه ( Color Name ) أو بتحديد درجته بأسلوب HEX أو RGB أو RGBA أو HSL أو HSLA كما تعلمنا في درس الألوان.
إن لم يكن شكل الحدود border-style محدداً فإن لون الحدود border-color لن يظهر لأنه منطقياً لا يمكنك تلوين الحدود و هي بالأساس غير موجودة.
فيما يلي قمنا بتلوين خلفية الصفحة و خلفية العناصر الموجودة فيها.
مثال
.one { border-style: solid; border-color: red; } .two { border-style: solid; border-color: green; } .three { border-style: solid; border-color: blue; }
إذا قمت بتمرير قيمتين للخاصية border-color سيحدث التالي:
- القيمة الأولى ستمثل لون الحدود في الأعلى و الأسفل.
- القيمة الثانية ستمثل لون الحدود في جهة اليمين و اليسار.
إذا قمت بتمرير ثلاث قيم للخاصية border-color سيحدث التالي:
- القيمة الأولى ستمثل لون الحدود في الأعلى.
- القيمة الثانية ستمثل لون الحدود في جهة اليمين و اليسار.
- القيمة الثالثة ستمثل لون الحدود في الأسفل.
إذا قمت بتمرير أربع قيم للخاصية border-color سيحدث التالي:
- القيمة الأولى ستمثل لون الحدود في الأعلى.
- القيمة الثانية ستمثل لون الحدود في جهة اليمين.
- القيمة الثالثة ستمثل لون الحدود في الأسفل.
- القيمة الرابعة ستمثل لون الحدود في جهة اليسار.
تحديد شكل و سمك و لون كل جهة من الحدود
يمكنك تحديد شكل و سمك و لون الحدود العلوية للعنصر بواسطة الخصائص التالية:
border-top-styleلتحديد شكل الحدود العلوية.border-top-widthلتحديد سمك الحدود العلوية.border-top-colorلتحديد لون الحدود العلوية.
يمكنك تحديد شكل و سمك و لون الحدود السفلية للعنصر بواسطة الخصائص التالية:
border-bottom-styleلتحديد شكل الحدود السفلية.border-bottom-widthلتحديد سمك الحدود السفلية.border-bottom-colorلتحديد لون الحدود السفلية.
يمكنك تحديد شكل و سمك و لون الحدود جهة يمين العنصر بواسطة الخصائص التالية:
border-right-styleلتحديد شكل الحدود جهة اليمين.border-right-widthلتحديد سمك الحدود جهة اليمين.border-right-colorلتحديد لون الحدود جهة اليمين.
يمكنك تحديد شكل و سمك و لون الحدود جهة يسار العنصر بواسطة الخصائص التالية:
border-left-styleلتحديد شكل الحدود جهة اليسار.border-left-widthلتحديد سمك الحدود جهة اليسار.border-left-colorلتحديد لون الحدود جهة اليسار.
في المثال التالي قمنا بتحديد خصائص حدود كل جهة على حدا.
مثال
.demo { /* خصائص الحدود العلوية */ border-top-style: solid; border-top-width: 10px; border-top-color: blue; /* خصائص الحدود السفلية */ border-bottom-style: solid; border-bottom-width: 10px; border-bottom-color: blue; /* خصائص الحدود جهة اليمين */ border-right-style: double; border-right-width: 10px; border-right-color: orange; /* خصائص الحدود جهة اليسار */ border-left-style: double; border-left-width: 10px; border-left-color: orange; }
تعريف كل خصائص الحدود بسطر واحد
يمكنك تعريف كل خصائص الحدود بشكل مختصر ( Shorthand Property ) حتى لا تضطر إلى كتابة الكثير من كود CSS.
تحديد خصائص الحدود من كل الجهات
لتحديد سمك، شكل و لون حدود العنصر من كل الجهات أكتب border و من ثم قم بتمرير خصائص القيم التالية لها بالترتيب و يمكنك عدم تمريرها جميعها:
تحديد خصائص الحدود من الجهة العلوية
لتحديد سمك، شكل و لون حدود العنصر من الجهة العلوية أكتب border-top و من ثم قم بتمرير خصائص القيم التالية لها بالترتيب و يمكنك عدم تمريرها جميعها:
تحديد خصائص الحدود من الجهة السفلية
لتحديد سمك، شكل و لون حدود العنصر من الجهة السفلية أكتب border-bottom و من ثم قم بتمرير خصائص القيم التالية لها بالترتيب و يمكنك عدم تمريرها جميعها:
تحديد خصائص الحدود من الجهة اليمنى
لتحديد سمك، شكل و لون حدود العنصر من الجهة اليمنى أكتب border-right و من ثم قم بتمرير خصائص القيم التالية لها بالترتيب و يمكنك عدم تمريرها جميعها:
تحديد خصائص الحدود من الجهة اليسرى
لتحديد سمك، شكل و لون حدود العنصر من الجهة اليسرى أكتب border-left و من ثم قم بتمرير خصائص القيم التالية لها بالترتيب و يمكنك عدم تمريرها جميعها:
في المثال التالي قمنا بإظهار حدود سمكها 5 بكسل، شكلها خط و لونها أحمر.
في المثال التالي قمنا بإظهار حدود في أعلى العنصر سمكها 5 بكسل، شكلها خط و لونها أحمر.
في المثال التالي قمنا بإظهار حدود في أسفل العنصر سمكها 5 بكسل، شكلها خط و لونها أحمر.
في المثال التالي قمنا بإظهار حدود في الجهة اليمنى للعنصر سمكها 5 بكسل، شكلها خط و لونها أحمر.
في المثال التالي قمنا بإظهار حدود في الجهة اليسرى للعنصر سمكها 5 بكسل، شكلها خط و لونها أحمر.
تحديد شكل زواية الحدود
يمكنك جعل زوايا الحدود منحنية بالدرجة التي تريدها، و يمكنك تحديد درجة إنحاء الزوايا الأربعة للعنصر دفعة واحدة و يمكنك تحديد درجة إنحناء كل زاوية منهم على حدا بالشكل الذي تريده.
لتحديد درجة إنحناء الزوايا الأربعة للعنصر نضيف الخاصية border-radius و من ثم نمرر لها رقم بالبكسل أو بأي وحدة قياس أخرى يمثل درجة الإنحناء.
لتحديد درجة إنحناء الزاوية العلوية جهة يمين العنصر نضيف الخاصية border-top-right-radius و من ثم نمرر لها رقم بالبكسل أو بأي وحدة قياس أخرى يمثل درجة الإنحناء.
لتحديد درجة إنحناء الزاوية العلوية جهة يسار العنصر نضيف الخاصية border-top-left-radius و من ثم نمرر لها رقم بالبكسل أو بأي وحدة قياس أخرى يمثل درجة الإنحناء.
لتحديد درجة إنحناء الزاوية السفلية جهة يمين العنصر نضيف الخاصية border-bottom-right-radius و من ثم نمرر لها رقم بالبكسل أو بأي وحدة قياس أخرى يمثل درجة الإنحناء.
لتحديد درجة إنحناء الزاوية السفلية جهة يسار العنصر نضيف الخاصية border-bottom-left-radius و من ثم نمرر لها رقم بالبكسل أو بأي وحدة قياس أخرى يمثل درجة الإنحناء.