كيف تضيف خطًا أفقيًا
ضع <hr> بين كتلتين من المحتوى. ليس له وسم إغلاق:
افتراضيًا يمتد الخط على كامل عرض حاويته، مع هامش صغير فوقه وتحته، ويُرسم كحد رمادي رفيع غائر (حافة فاتحة وأخرى داكنة).
<hr> اختصار horizontal rule. في HTML يعني فاصلًا موضوعيًا: انتقالًا في الموضوع أو المشهد داخل قسم. تعلن عنه قارئات الشاشة كفاصل. إن كنت تريد خطًا زخرفيًا فقط (تحت عنوان، حول بطاقة)، فارسمه بحد CSS على ذلك العنصر بدلًا من ذلك.
تنسيق hr بـ CSS
المظهر الافتراضي يأتي من الحدود، لذلك الطريقة الموثوقة لتنسيق <hr> هي إزالتها ورسم حد واحد بنفسك:
| لتغيير | استخدم |
|---|---|
| اللون | border-top: 2px solid #2563eb (بعد border: none) |
| السماكة | العرض داخل ذلك الحد، مثل 6px |
| النمط | solid أو dashed أو dotted أو double |
| الطول | width: 40%، مع margin-inline: auto لتوسيطه |
| أطراف مستديرة | height مع background وborder-radius بدلًا من الحد |
| المسافة حوله | margin |
ضبط color: blue وحده على hr يغيّر الخط في المتصفحات الحالية، لكن النمط الافتراضي inset يظلله ويبقى ارتفاعه 2px. إعادة ضبط الحد تعطيك ما تطلبه بالضبط.
سمات hr القديمة
تستخدم الشيفرة القديمة سمات على الوسم نفسه:
<hr size="4" width="50%" color="red" noshade align="left">
size وwidth وcolor وnoshade وalign مهجورة. ما زالت المتصفحات تطبّقها كي تظهر الصفحات القديمة بشكل صحيح، لكنها HTML غير صالح وأصعب تغييرًا لاحقًا. استبدلها بـ CSS الموضح أعلاه.
فاصل بنص في منتصفه
خط «أو» بين زري تسجيل دخول ليس <hr> (فلا يمكن أن يحتوي hr على نص). هو صف flex يُرسم فيه خط على كل جانب من الكلمة:
القطعتان ::before و::after تأخذ كل منهما نصف المساحة الفارغة بـ flex: 1 وترسم حدًا علويًا. غيّر or إلى كلمة أطول وستقصر الخطوط لتتسع لها.
الخطوط العمودية
لا توجد نسخة عمودية من <hr>. ارسم خطًا عموديًا بحد على أحد جانبي عنصر، أو بعنصر رفيع داخل صف flex:
border-inline-start تضع الخط في بداية النص، أي على اليسار في الإنجليزية وعلى اليمين في العربية أو العبرية، فيعمل التخطيط في الاتجاهين.
أخطاء شائعة
- كتابة
</hr>.<hr>عنصر فارغ.<hr>أو<hr />هو كل ما تحتاجه. - استخدام
<hr>للزخرفة. تعلن قارئات الشاشة عن كل واحد منها. الخط البصري فقط مكانه CSS. - التنسيق بـ
colorوحدها. أعد ضبط الحد بـborder: noneواضبطborder-top. - استخدام
<br>أو الشرطات السفلية لرسم الخطوط. استخدم<hr>أو حدًا. راجع السطر الجديد لمعرفة الغرض من<br>. - استخدام السمات المهجورة. انقل
sizeوwidthوcolorوnoshadeإلى CSS.
الأسئلة الشائعة
كيف أضيف خطًا أفقيًا في HTML؟
استخدم الوسم <hr> في سطر مستقل. هو عنصر فارغ بلا وسم إغلاق، ويرسم خطًا بكامل عرض الحاوية التي هو فيها.
كيف أغيّر لون hr؟
أزل الحدود الافتراضية وارسم حدًا خاصًا بك: hr { border: none; border-top: 2px solid #2563eb; }. ضبط color وحده يغيّره أيضًا، لكن النمط الغائر الافتراضي يُبقيه مظللًا بلونين.
كيف أجعل hr أسمك؟
اضبط عرض الحد: hr { border: none; border-top: 4px solid #111827; }. السمة size من الدروس القديمة ما زالت تعمل في المتصفحات لكنها مهجورة، لذلك استخدم CSS.
ماذا يعني hr؟
اختصار horizontal rule أي خط أفقي. في HTML الحالي يعني فاصلًا موضوعيًا: تغيّر الموضوع أو المشهد بين الفقرات. تعلن عنه قارئات الشاشة كفاصل.
كيف أرسم خطًا عموديًا في HTML؟
لا يوجد في HTML وسم لخط عمودي. أضف حدًا إلى أحد جانبي عنصر، مثل border-inline-start: 2px solid #e5e7eb، أو استخدم عنصرًا ضيقًا بلون خلفية داخل صف flex.