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

التسطير والشطب في HTML: وسوم u وins وs وdel

ضع خطًا تحت النص في HTML بـ <u> أو بخاصية text-decoration في CSS، واشطبه بـ <s> أو <del>. تعلّم معنى كل وسم، وكيف يحدد <ins> و<del> التعديلات، ولماذا يربك تسطير نص ليس رابطًا القراء.

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

كيف تضع خطًا تحت النص في HTML

هناك طريقتان: الوسم <u>، أو خاصية CSS text-decoration: underline. كلتاهما ترسم الخط نفسه:

المشكلة في أي تسطير هي السطر الثالث: يتوقع القراء أن النص المسطَّر رابط، فينقرون عليه. ضع خطًا تحت النص العادي فقط عندما يكون هناك سبب واضح.

ماذا يعني الوسم u

<u> ليس زر «تسطير» عامًا. في HTML الحالي يعني نصًا يحمل تعليقًا توضيحيًا غير منطوق: علامة تقول «هنا شيء خاص» من دون أن تقول ما هو. الاستخدامات الحقيقية الشائعة:

  • تحديد خطأ إملائي (كما يفعل معالج النصوص، غالبًا بخط أحمر متموج)،
  • تحديد أسماء الأعلام في النص الصيني، وهو عرف طباعي هناك.

للتأكيد استخدم <em> أو <strong> (راجع النص العريض)، ولعناوين الكتب استخدم <cite>. وإن كنت تريد المظهر فقط، فاستخدم CSS.

الشطب: s وdel

في HTML وسمان يرسمان خطًا عبر النص، ولكل منهما معنى مختلف:

الوسمالمعنىالاستخدام المعتاد
<s>لم يعد دقيقًا أو مناسبًا، باقٍ للسياقسعر قديم، نوع تذكرة نفدت
<del>حُذف من المستندالتعديلات، سجلات التغييرات، المهام المنجزة في قائمة مهام

تحديد التعديلات بـ ins وdel

<ins> شريك <del>: يحدد النص الذي أُضيف. تضع المتصفحات خطًا تحته افتراضيًا. كلاهما يقبل datetime (متى حدث التغيير) وcite (رابط يشرحه):

هذا التنسيق بالأحمر والأخضر هو المظهر المألوف لعرض الفروقات (diff). وtext-decoration: none على ins تزيل التسطير الافتراضي كي لا يبدو كرابط.

التسطير والشطب بـ CSS

text-decoration تتولى الجانب البصري لأي عنصر: تأخذ لونًا ونمطًا، وtext-decoration-thickness تحدد السماكة. للخطوط الزخرفية فقط هذه هي الأداة الصحيحة:

إزالة الخط من تحت الروابط، وإزاحة التسطير، وتفاصيل text-decoration الأخرى موجودة في صفحة التسطير في CSS.

إمكانية الوصول

دعم قارئات الشاشة لـ <s> و<del> و<ins> غير متسق: بعضها يعلن عنها كمحذوفة أو مضافة، وكثير منها يقرؤها كنص عادي، فقد يسمع المستمع «السعر 49 دولارًا 29 دولارًا» بلا أي إشارة إلى الحالي منهما. عندما يكون الفرق مهمًا، قله بالكلمات أيضًا، مثلًا بنص مخفي بصريًا لكنه يُقرأ بصوت عالٍ، أو ببساطة «كان 49 دولارًا، والآن 29 دولارًا».

أخطاء شائعة

  • تسطير نص ليس رابطًا. سيحاول القراء النقر عليه. استخدم العريض أو اللون أو الخلفية للإبراز بدلًا من ذلك.
  • استخدام <u> للتأكيد. استخدم <em> أو <strong>.
  • استخدام <strike>. مهجور. استخدم <s> أو <del> أو text-decoration: line-through.
  • استخدام <s> لمحتوى محذوف في سجل تعديلات مستند. هذا دور <del>، الذي يمكنه أيضًا تسجيل وقت الحذف.
  • الاعتماد على الخط وحده لنقل المعنى. كثير من قارئات الشاشة لا تعلن عنه.

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

كيف أضع خطًا تحت النص في HTML؟

ضعه داخل <u>، أو طبّق text-decoration: underline في CSS. استخدم <u> فقط لمعناه المحدد (مثل تحديد كلمة بها خطأ إملائي)، أما التسطير البصري فقط فاستخدم له CSS على <span> أو على العنصر نفسه.

كيف أشطب النص في HTML؟

استخدم <s> للنص الذي لم يعد دقيقًا، مثل سعر قديم، و<del> للنص الذي حُذف في تعديل. كلاهما يرسم خطًا عبر النص. وفي CSS تفعل text-decoration: line-through الشيء نفسه بصريًا.

هل وسم <u> مهجور؟

لا. أُهمل <u> في HTML 4 لكنه عاد في HTML5 بمعنى جديد: نص يحمل تعليقًا توضيحيًا غير نصي، مثل خطأ إملائي أو اسم علم في نص صيني. هو صالح، لكنه نادرًا ما يكون الخيار الصحيح.

ماذا حدث لوسم <strike>؟

<strike> مهجور. ما زالت المتصفحات ترسمه كخط عبر النص، لكنه ليس HTML صالحًا. استخدم <s> أو <del> بحسب المعنى، أو text-decoration: line-through.

ما الفرق بين <s> و<del>؟

<s> يحدد نصًا لم يعد مناسبًا أو صحيحًا لكنه باقٍ للسياق، مثل سعر مشطوب. <del> يحدد نصًا حُذف من المستند، وغالبًا ما يأتي بجانب <ins> الذي يُظهر ما حلّ محله، ويمكن أن يحمل السمتين datetime وcite.

Coddy programming languages illustration

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

ابدأ الآن