ما وظيفة وسم span
<span> يحيط بجزء من النص داخل السطر كي تنسّقه أو تجده بـ JavaScript. هو التوأم السطري لـ <div>: بلا معنى وبلا مظهر افتراضي، ولا يبدأ سطرًا جديدًا.
تبقى الجملة في سطر واحد. تتغير الكلمات المحاطة فقط.
الفرق بين div وspan
الاثنان متطابقان في الغرض (حاوية بلا معنى) ويختلفان في طريقة ظهورهما على الصفحة:
يقسم div الجملة إلى ثلاثة أسطر ويمتد على عرض الصفحة، بينما يبقى span داخل الجملة ويلتف حول نصه.
<div> | <span> | |
|---|---|---|
| العرض (display) | كتلي | سطري |
| يبدأ سطرًا جديدًا | نعم | لا |
| العرض | كامل العرض المتاح | بقدر محتواه |
width وheight والهامش العمودي | تُطبَّق | تُتجاهل |
| يمكن أن يحتوي على | أي شيء، بما في ذلك العناصر الكتلية | النص والعناصر السطرية فقط |
| الاستخدام المعتاد | الأقسام والبطاقات وأغلفة التخطيط | كلمة أو عبارة داخل النص |
فرق آخر: لا يُسمح بـ <div> داخل <p>، ويغلق المتصفح الفقرة مبكرًا إن حاولت، بينما يمكن وضع span في أي مكان يوضع فيه النص. المزيد عن ذلك في صفحة div.
تنسيق span: ما يعمل وما لا يعمل
اللون والخط والخلفية والحشو الأفقي كلها تعمل على span. أما الحجم فلا: العنصر السطري يتجاهل width وheight والهوامش العلوية والسفلية. حوّله إلى inline-block لتحدد حجمه مع إبقائه في السطر:
عرض span الأول بقدر كلماته فقط. والثاني 120 في 40 بكسل بالضبط وما زال داخل الجملة.
span مع JavaScript
span هو العنصر المعتاد لحجز مكان قيمة يملؤها سكربت، مثل عدّاد أو اسم مستخدم:
يتغير الرقم فقط، وبقية الجملة لا تُمس.
متى يكون وسم محدد أفضل من span
span بلا معنى، لذلك يقرؤه قارئ الشاشة كنص عادي. عندما يكون للكلمات دور، استخدم الوسم الخاص بذلك الدور ونسّقه كما تشاء:
| المعنى | استخدم بدلًا من span |
|---|---|
| نص مهم | <strong> |
| تأكيد بالنبرة | <em> |
| نص مظلل أو مُعلَّم | <mark> |
| شيفرة، اسم ملف | <code> |
| مفتاح في لوحة المفاتيح | <kbd> |
| تاريخ أو وقت | <time datetime="2026-09-24"> |
| نص بلغة أخرى | <span lang="fr"> (span مع السمة lang) |
تشرح صفحة النص العريض الفرق بين <strong> و<b> و<em> و<i>.
أخطاء شائعة
- ضبط
widthعلى span عادي. يتم تجاهله. استخدمdisplay: inline-block. - وضع div أو فقرة داخل span. HTML غير صالح يكسر السطر. اجعل العنصر الخارجي div بدلًا من span.
- عناصر span قابلة للنقر. مثل div، لا يمكن الوصول إلى span يحمل
onclickبلوحة المفاتيح. استخدم<button>أو رابطًا. - span لكل تنسيق. إذا احتاجت فقرات أو أقسام كاملة إلى تنسيق، ضع class على
<p>أو الحاوية نفسها بدلًا من إحاطة نصها بـ span.
الأسئلة الشائعة
ما هو span في HTML؟
<span> حاوية سطرية عامة. يحيط بجزء من سطر النص، مثل كلمة واحدة، كي يستهدفه CSS أو JavaScript، وليس له مظهر أو معنى خاص به.
ما الفرق بين div وspan؟
<div> عنصر كتلي: يبدأ في سطر جديد ويأخذ كامل العرض. <span> عنصر سطري: يبقى داخل سطر النص وعرضه بقدر محتواه فقط. استخدم div لتجميع كتل المحتوى، وspan لتمييز كلمات داخل النص.
لماذا لا تعمل خاصية width على span؟
العناصر السطرية تتجاهل width وheight والهوامش العمودية. أعطِ span القيمة display: inline-block ليبقى في السطر مع قبول الحجم، أو display: block ليتصرف مثل div.
كيف أغيّر لون كلمة واحدة في HTML؟
ضع الكلمة داخل span يحمل class ولوّنها في CSS: <span class="accent">word</span> مع .accent { color: #2563eb; }. ولتعديل سريع لمرة واحدة يعمل أيضًا <span style="color: #2563eb">word</span>.
هل يمكن أن يحتوي span على div؟
لا. لا يحتوي span إلا على محتوى سطري مثل النص والروابط والصور وعناصر span أخرى. تعرض المتصفحات div داخل span مع ذلك، لكنه HTML غير صالح ويكسر السطر، لذلك اجعل العنصر الخارجي div.