HTML/Topics

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

يحتوي هذا القسم على قائمة بعناصر لغة HTML، منظمةً حسب وظيفتها ليسهل عليك الوصول إلى مبتغاك.

العنصر الجذر

العنصر الوصف
<html> تمثيل العنصر الرئيسي في مستندات HTML، ويُشار إليه أحيانًا باسم «العنصر الجذر» (root element). يجب أن تكون جميع العناصر الأخرى في المستند سليلةً (descendants، أي أبناء مباشرين وغير مباشرين) له.

البيانات الوصفية

تحتوي البيانات الوصفية في لغة HTML على معلومات عن الصفحة، التي تتضمن المعلومات حول الأنماط (styles) والسكربتات، والبيانات المُساعدة للبرمجيات (مثل محركات البحث والمتصفحات ...إلخ.) التي تستخدم الصفحة أو تعرضها.

العنصر الوصف
<base> تحديد أساس روابط URL لجميع الروابط النسبية (relative URLs) الموجودة في المستند. لا يجوز استخدام أكثر من عنصر <base> في المستند.
<head> توفير معلوماتٍ عامةً عن المستند (أي بيانات وصفية)، بما في ذلك عنوان المستند وروابط إلى السكربتات الموجودة فيها وصفحات الأنماط.
<link> تحديد العلاقات بين المستند الحالي وبين مورد خارجي (external resource)؛ من استخدامات هذا الوسم تتضمن تعريف علاقة بين الصفحات للتنقل بينها، بيد أنَّ أكثر استخدامات هذا العنصر شيوعًا هو تضمين صفحات الأنماط.
<meta> تمثيل البيانات الوصفية التي لا يمكن تمثيلها باستخدام عناصر HTML المتعلقة بالبيانات الوصفية مثل <base> أو <link> أو <script> أو<style> أو <title>.
<style> يحتوي العنصر <style> معلومات عن تنسيق المستند أو جزءٍ منه، إذ تحتوى داخل هذا العنصر معلومات التنسيق التي من المتوقع أن تكون بلغة CSS.
<title> تعريف عنوان المستند، الذي يظهر في شريط العنوان للمتصفح أو في لسان الصفحة، ويمكن أن يحتوي هذا العنصر على نصوص فقط، وسيتم تجاهل أيّة وسوم ترد فيه.

العناصر التقسيمية

تسمح العناصر التقسيمية لنا في لغة HTML بتنظيم محتوى المستند وتقسيمه إلى أقسام منطقية، إذ تُستعمَل هذه العناصر لإنشاء تخطيط هيكلي للصفحة، بما في ذلك ترويسة الصفحة وتذييلها، وعناصر الترويسات.

العنصر الوصف
<body> تمثيل محتوى مستند HTML، ولا يجوز أن يكون هنالك أكثر من عنصر <body> واحد في المستند.
<address> توفير معلومات التواصل للمحتوى الموجود في أقرب عنصر<article> أو <body> أب، وإذا كان سيوفر المعلومات لعنصر <body> أب فستُطبَّق المعلومات على كامل المستند.
<article> تمثيل جزء من المستند أو الصفحة أو التطبيق أو الموقع الغرض منها هو القدرة على إعادة توزيعها واستخدامها بشكل مستقل، مثل موضوع في منتدى أو مقالة في صحيفة أو تدوينة.
<aside> تمثيل جزء من المستند الذي يتعلق محتواه بشكلٍ أو بآخر بالمحتوى الرئيسي للمستند (ويُمثَّل هذا العنصر عادةً على شكل شريط جانبي).
<footer> تمثيل تذييل لأقرب عنصر تقسيمي (sectioning element) أو للمستند كله؛ ويحتوي التذييل عادةً على معلومات حول كاتب المحتوى أو معلومات حقوق النشر أو وصلات إلى مستندات مفيدة.
<h1-h6> تُمثِّل عناصر <h1>‏-<h6> ستة مستويات من ترويسات الأقسام، ويكون العنصر<h1> أعلى مستوى والعنصر <h6> أدنى مستوى.
<header> يضم العنصر <header> مجموعةً من العناصر التمهيدية أو المساعدة على التنقل، وقت يحتوي على بعض عناصر الترويسات أو عناصر أخرى مثل شعار الموقع أو نموذج بحث وهلم جرًا.
<nav> تمثيل قسم من الصفحة غرضه هو توفير روابط للتنقل، سواءً كانت ضمن المستند نفسه أو إلى مستندات أخرى.

من أكثر الأمثلة شيوعًا هي القوائم وجداول المحتويات والفهارس.

<section> تمثيل قسم مستقل له وظيفة خاصة به ضمن مستند HTML، ويكون له ترويسة عادةً، وهذا القسم ليس له وسمٌ خاصٌ يمكن أن يمثِّله.

المحتوى النصي

تُستخدَم عناصر المحتوى النصي في لغة HTML لتنظيم أجزاء من المحتوى الموجودة في العنصر <body>، وهي مفيدة لتعريف الغرض من المحتوى الموجود داخلها، مما يفيد في فهرسة الصفحة أو زيادة قابلية الوصول إليها.

العنصر الوصف
<blockquote> يُشير العنصر <blockquote> (اسم هذا العنصر اختصارٌ للعبارة HTML Block Quotation Element) إلى أنَّ النص الموجود داخله هو نص اقتباس طويل.

يُعرَض هذا العنصر عادةً مع إضافة محاذاة قبله (راجع قسم الملاحظات في هذه المقالة لمعرفة كيفية تغيير طريقة العرض). يمكن توفير رابط URL لمصدر الاقتباس عبر الخاصية cite، أما التمثيل النصي للمصدر يمكن أن يوضع ضمن العنصر <cite>.

<dd> الإشارة إلى شرح أحد المصطلحات في قائمة وصف (description list) أي العنصر <dl>.
<div> العنصر <div> هو حاوية عامة للمحتوى التي لا تُمثِّل شيئًا معيّنًا، يمكن استخدامها لتجميع العناصر لأغراض مثل التنسيق (باستخدام خاصيتَي class أوid)، أو إنشاء قسم جديد في المستند بلغةٍ أخرى (باستخدام الخاصية lang)، وهلم جرًا.
<dl> تمثيل قائمة وصف (description list)، وهذا العنصر يتضمن مجموعةً من المصطلحات وشرحها. يستخدم هذا العنصر عادةً في القوامس أو شرح المصطلحات، أو لعرض البيانات الوصفية (قائمة من أزواج مفاتيح-قيم).
<dt> تعريف أحد المصطلحات في قائمة وصف (description list)، يجب أن يكون هذا العنصر ابنًا للعنصر <dl>، ويكون متبوعًا عادةً بعنصر <dd>؛ لكن إذا وردت عدِّة عناصر <dt> متتالية فستُعرَّف عدِّة مصطلحات (terms) التي ستُشرَح عبر عنصر <dd> التالي.
<figcaption> تمثيل لافتة أو شرح مرتبط بصورة أو رسمة أو غير ذلك مما يمكن أن يوصف عبر العنصر <figure> الذي يجب أن يكون الأب المباشر لهذا العنصر..
<figure> تمثيل محتوى مستقل بحد ذاته، ويستخدم عادةً مع لافتة (عبر العنصر <figcaption>)، ويُشير عادةً إلى وحدة لا تتجزأ من المعلومات.
<hr> تمثيل فاصل موضوعي بين الفقرات (مثلًا: تغيّر المشهد في قصة ما، أو تبدّل الموضوع بإنشاء قسم جديد).

كان يُعرَض هذا العنصر في الإصدارات السابقة من HTML على شكل خط أفقي، وصحيحٌ أنَّه ما يزال يعرَض كذلك في المتصفحات، لكن أصبح له معنى هيكلي، بدلًا من كونه عنصرًا شكليًا فقط.

<li> لتمثيل عنصر في قائمة، ويجب أن يحتوى هذا العنصر في عنصر أب الذي يكون قائمة مرتبة <ol> أو قائمة غير مرتبة <ul> أو قائمة<menu>.

تُعرَض عناصر القوائم العادية <menu> والقوائم غير المرتبة وقبلها نقطة (bullet point)، أما في القوائم المرتبة فتعرض عناصرها بترتيبٍ تصاعدي وقبلها رقم أو حرف يدل على ترتيبها.

<main> تمثيل المحتوى الرئيسي لجسم المستند (العنصر <body>) أو لجزءٍ من المستند أو التطبيق. تضم منطقة المحتوى الرئيسي جميع المحتوى المرتبط مباشرةً بموضوع المستند أو يضيف عليه، أو يمثِّل الوظيفة الرئيسية للتطبيق.
<ol> تمثيل قائمة مرتبة من العناصر، التي تُعرَض على شكل قائمة مرقمة.
<p> يُمثِّل العنصر <p> فقرةً نصيةً، وتُعرَض الفقرات عادةً على شكل أقسام من النص يفصل بينها بمسافة فارفة رأسية، أو بزيادة محاذاة أوّل سطر.
<pre> يُمثِّل العنصر <pre> نصًا منسقًا مسبقًا (preformatted text)، والنص الموجود داخل هذا العنصر يُعرَض بخطٍ ذي عرضٍ ثابت (monospaced font) كما هو مكتوب في الملف المصدري تمامًا، وستُعرَض الفراغات الموجودة كما هي.
<ul> تمثيل قائمة غير مرتبة من العناصر، التي تُعرَض على شكل قائمة منقطة عادةً.

العناصر النصية

تُستخدَم العناصر النصية في لغة HTML لإضفاء معنى أو بنية أو تنسيق إلى كلمة أو سطر أو أي نص.

العنصر الوصف
<a> يُنشِئ العنصر <a> (اسمه اختصار للكلمة anchor) رابطًا فائقًا (hyperlink) لصفحات الويب الأخرى أو للملفات أو لأقسم الصفحة الحالية أو لعنواين البريد الإلكتروني.
<abbr> تمثيل اختصار وتوفير شرح له، وعند إضافة الشرح يجب أن تحتوي الخاصية title على الشرح الكامل لهذا الاختصار فقط ولا يسمح بأي قيمة أخرى.
<b> تمثيل نص يختلف تنسيقه عن تنسيق النص العادي، دون أن يكون له أهمية أو أولوية على بقية النص، ويُعرَض عادةً بخطٍ عريض (bold).
<bdi> يعزل العنصر <bdi> (اختصار للعبارة bidirectional isolation) جزءًا من النص الذي يمكن تنسيقه باتجاه نص (أي اتجاه النص من اليمين إلى اليسار مثل اللغة العربية، أو من اليسار إلى اليمين مثل اللغات اللاتينية) مختلف عن النص الذي حوله.

هذا العنصر مفيدٌ عند تضمين نص لا يُعرَف اتجاهه تحديدًا -مثل تضمين نص من قاعدة البيانات- داخل نص له اتجاه نص معيّن.

<bdo> يتجاوز العنصر <bdo> (اختصار للعبارة bidirectional override) اتجاه النص الحالي واستخدام اتجاه مُحدَّد مسبقًا.
<br> يؤدي إلى الانتقال إلى سطرٍ جديد، وهو مفيد عند كتابة قصيدة شعرية أو عنوان ما، حيث يكون تقسيم الأسطر مهمًا.
<cite> تمثيل مرجعية لعملٍ إبداعي، إذ يجب أن يتضمن عنوان العمل أو رابط URL، ويمكن أن يكون محتواه مختصرًا وذلك اعتمادًا على نوعية المرجعية التي يُشير إليها.
<code> تمثيل جزء من شيفرة برمجية، ويُعرَض افتراضيًا باستخدام الخط ذي العرض الثابت الذي يستعمله المتصفح.
<data> يربط العنصر <data> بين محتوى العنصر وقيمة سهلة القراءة برمجيًا.

إذا كان المحتوى متعلقًا بالوقت أو التاريخ، فيجب حينئذٍ استخدام العنصر <time>.

<dfn> تمثيل تعريف لأحد المصطلحات في أوّل مرة يرد فيها.
<em> يُعطي العنصر <em> توكيدًا للنص الموجود فيه، ويمكن تشعّب العنصر<em> (أي استخدام أكثر من عنصر <em> داخل بعضها) وكل مستوى من مستويات التشعب يعطي توكيدًا أكثر للنص.
<i> تمثيل جزء من النص يجب أن يتميز عن بقية النص لسببٍ ما، مثل المصطلحات التقنية أو العبارات المكتوبة بلغةٍ أجنبية أو التعابير الوجهية لشخصيةٍ ما في مسرحية ...إلخ. ويُعرَض هذا العنصر عادةً بخطٍ مائل.
<kbd> تمثيل مدخلات المستخدم ويؤدي إلى عرض النص بالخط ذي العرض الثابت الافتراضي الذي يستعمله المتصفح.
<mark> يستعمل العنصر <mark> لتعليم (highlight) جزء من النص لغرض الإشارة إليه لأن له أهمية في سياقٍ معيّن. فمثلًا يمكن أن يستعمل لتعليم كل مرة ترد فيها كلمة مفتاحية في عبارة البحث في صفحة النتائج.
<q> الإشارة إلى أنَّ النص المحتوى فيه يُمثِّل اقتباسًا قصيرًا، ويستعمل هذا العنصر للاقتباسات التي لا تحتاج إلى فقرة كاملة لها، أما للاقتباسات الطويلة فاستخدم العنصر <blockquote>.
<s> يؤدي العنصر <s> إلى عرض النص ويتوسطه خط؛ استخدم العنصر <s> لتمثيل النص الذي لم يعد متعلقًا بالموضوع أو لم يعد دقيقًا؛ لكن العنصر <s> ليس مناسبًا للإشارة إلى التعديلات التي أُجريت على المستند، فلتلك التعديلات استخدم <del> و <ins>.
<samp> الغرض من العنصر <samp> هو إظهار جزء من ناتج برنامج حاسوبي، ويُعرَض محتوى هذا العنصر عادةً بخطٍ ذي عرضٍ ثابت (monospace).
<small> يؤدي العنصر <small> إلى تقليل حجم الخط بمقدار درجة واحدة (مثلًا: منlarge إلى medium، أو من small إلى x-small) وصولًا إلى أدنى حجم خط متوافر في المتصفح.

أصبح لهذا العنصر أهمية تنظيمية في HTML5 فهو يمثل التعليقات الجانبية أو النصوص التي تُطبَع عادةً بخطٍ صغير مثل عبارة حقوق النشر أو النص القانوني، وهذا الاستخدام التنظيمي منفصل عن طريقة عرض العنصر.

<span> العنصر <span> هو حاوية سطرية (inline container) عامة، والتي لا تُمثِّل نوعًا معيّنًا من المحتوى، ويمكن أن تستعمل تجميع العناصر من أجل التنسيق (إما باستخدام الخاصية id أو class) أو لأن تلك العناصر تتشارك في خاصيةٍ ما مثل الخاصية lang.
<strong> يعطي العنصر <strong> أهميةً للنص المحتوى فيه، ويُعرَض النص عادةً بخطٍ عريض (bold).
<sub> تمثيل جزء من النص الذي يجب أن يُعرَض في مستوى أدنى (وغالبًا ما يكون أصغر) من المستوى الرئيسي للنص.
<sup> تمثيل جزء من النص الذي يجب أن يُعرَض في مستوى أعلى (وغالبًا ما يكون أصغر) من المستوى الرئيسي للنص.
<time> تمثيل الوقت بنظام 24 ساعة أو التاريخ الدقيق باستخدام التقويم الميلادي (ويمكن إضافة الوقت أو معلومات المنطقة الزمنية اختياريًا).
<u> يستخدم العنصر <u> لعرض النص مع وضع خط أفقي تحت خط الأساس لمحتواه.

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

<var> تمثيل متغير في تعبيرٍ رياضي أو في شيفرةٍ برمجية.
<wbr> يُعرِّف العنصر <wbr> نقطةً لقسم السطر عند الحاجة، حيث يرمز اسم هذا العنصر إلى Word Break Opportunity، أي يُسمَح للمتصفح أن يقسم السطر عند هذا الموضع على الرغم من أنَّ قواعد قسم السطر لا تسمح بإنشاء سطر جديد في ذاك الموضع.

الوسائط المتعددة

تدعم لغة HTML تضمين الوسائط المتعددة مثل الصور والصوت والفيديو.

العنصر الوصف
<area> تعريف منطقة في خريطة لصورة، ويمكن أن ترتبط تلك المنطقة (اختياريًا) مع رابط فائق. لا يمكن استخدام هذا العنصر إلا ضمن عنصر <map>.
<audio> تضمين المحتوى الصوتي في المستندات، وقد يحتوي على ملف مصدري واحد أو أكثر التي تُمثَّل باستخدام الخاصية src أو عبر العنصر <source>، وسيختار المتصفح أنسب الملفات الصوتية لتشغيلها.
<img> تمثيل صورة في المستند.
<map> يُستخدَم العنصر <map> مع عنصر <area> لتعريف خريطة للصورة (أي منطقة قابلة للنقر في الصورة).
<track> يُستخدَم العنصر <track> داخل العنصر <audio> أو <video> ويسمح لك باستخدام مسارات نصية مؤقتة مثل الترجمات المصاحبة لمقاطع الفيديو. تكون هذه المقاطع بصيغة WebVTT (وملفاتها بامتداد ‎.vtt أي Web Video Text Tracks).
<video> تضمين المحتوى الصوتي في المستندات، وقد يحتوي على ملف مصدري واحد أو أكثر التي تُمثَّل باستخدام الخاصية src أو عبر العنصر <source>، وسيختار المتصفح أنسب صيغة لتشغيلها.

تضمين المحتوى

إضافةً إلى الوسائط المتعددة، يمكن تضمين مختلف أنواع المحتوى في لغة HTML، حتى لو لم يكن من السهل دومًا التعامل مع ذاك المحتوى.

العنصر الوصف
<embed> يُمثِّل العنصر <embed> نقطة إدراج لتطبيق خارجي أو لمحتوى تفاعلي (أي بصيغة أخرى: إضافة plug-in).
<object> يُمثِّل العنصر <object> موردًا خارجيًا، والذي يمكن أن يُعامل كصورة، أو كمورد سيُعالَج عبر إضافة خارجية.
<param> يُعرِّف العنصر <param> معاملات (parameters) للعنصر <object>.
<source> يُحدِّد العنصر <source> عدِّة مصادر لملفات الوسائط المتعددة ضمن العنصر<picture> أو <audio> أو <video>. وهذا العنصر فارغ، وأكثر استخدام شائع له هو توفير محتوى الوسائط المتعددة نفسه لكن بصيغ مختلفة لكي يستطيع المتصفح تشغيل أنسبها.
<picture> يُمثِّل العنصر <picture> حاويةً تُستخدَم لتحديد عدِّة مصادر عبر العنصر<source> لصورة <img> محتواة داخله؛ وسيختار المتصفح أنسب مصدر للصورة اعتمادًا على تخطيط الصفحة (أي الصندوق المحتوى فيه هذا العنصر) والجهاز الذي ستُعرَض الصورة داخله (هل شاشته عادية أم عالية الدقة).

السكربتات

لإنشاء محتوى تفاعلي في تطبيقات الويب، فتدعم لغة HTML استخدام لغات السكربتات، وخصوصًا JavaScript، وهنالك عدِّة عناصر متوافرة لدعم هذه الإمكانية.

العنصر الوصف
<canvas> استخدم العنصر <canvas> مع الواجهة البرمجية الخاصة به لترسم الرسومات وتحركها.
<noscript> يُعرِّف العنصر <noscript> قسمًا من شيفرات HTML التي ستُضاف إلى الصفحة إذا لم يكن العنصر <script> مدعومًا في المتصفح أو كان استخدام شيفرات JavaScript معطلًا من قِبل المستخدم.
<script> تضمين أو الإشارة إلى سكربت قابل للتنفيذ.

التعديلات

تسمح لنا هذه العناصر في لغة HTML بالإشارة إلى أنَّ جزءًا من النص قد جرى تغييره.

العنصر الوصف
<del> تمثيل نص حُذِفَ من المستند، وهذا النص يُعرَض عادةً ويتوسطه خط (strike-through) لكن ذلك ليس إجباريًا.
<ins> تمثيل نص أُضيف إلى المستند، وهذا النص يُعرَض عادةً وتحته خط لكن ذلك ليس إجباريًا.

الجداول

تُستعمَل هذه العناصر في لغة HTML لإنشاء والتعامل مع البيانات المجدولة.

العنصر الوصف
<caption> تمثيل عنوان الجدول، وعلى الرغم من أنَّه يجب أن يكون أوّل ابن للعنصر <table> لكن يمكن باستخدام CSS وضعه في أي مكان نسبةً إلى الجدول.
<col> تعريف عمود ضمن أحد الجداول، ويُستخدم لإعطاء هيكل تنظيمي للخلايا المتشابهة، ويكون موجودًا داخل عنصر <colgroup>.
<colgroup> تعريف مجموعة أعمدة ضمن أحد الجداول.
<table> تمثيل البيانات المجدّولة، أي المعلومات التي يُعبّر عنها عبر جدول ثنائي الأبعاد.
<tbody> يُجمِّع العنصر <tbody> عنصر <tr> أو أكثر كجسم للعنصر <table>.
<td> تعريف خلية في الجدول الذي يحتويها.
<tfoot> تعريف مجموعة من الأسطر التي تُمثِّل خلاصةً لأعمدة العنصر<table>.
<th> تعريف خلية تُمثِّل ترويسةً في الجدول الذي يحتويها. تُعرّف طبيعة هذه الترويسة عبر الخاصيتين scope و headers.
<thead> تعريف مجموعة من الأسطر التي تُمثِّل ترويسةً لأعمدة العنصر<table>.
<tr> تعريف سطر يحتوي على خلايا في جدول، وهذه الخلايا تُمثَّل عبر العنصرين <td> و <th>.

النماذج

توفِّر لغة HTML عددًا من العناصر التي يمكن أن تتكامل مع بعضها لإنشاء نماذج يمكن للمستخدمين ملأها وإرسالها إلى خادوم الويب لمعالجها.

العنصر الوصف
<button> يُمثِّل العنصر <button> زرًا قابلًا للضغط.
<datalist> يحتوي العنصر <datalist> على عناصر <option> التي تُمثِّل القيم المتوافرة لعناصر النماذج الأخرى.
<fieldset> تجميع عدِّة عناصر ولافتات (<label>) ضمن نموذج في مستند HTML؛ مما يجعل نماذجك أسهل استخدامًا وأوضح.
<form> تمثيل قسم في المستند الذي يحتوي على عناصر يستطيع المستخدم التفاعل معها لإرسال بيانات إلى خادوم الويب.
<input> يُستخدَم العنصر <input> لإنشاء عناصر تفاعلية للنماذج في صفحات الويب التي تقبل معطيات من المستخدم، ثم تُرسَل إلى الخادوم.
<label> تمثيل لافتة (caption) لأحد عناصر النماذج.
<legend> تمثيل لافتة (caption) لعنصر <fieldset> الأب له.
<meter> يُمثِّل العنصر <meter> إما قيمةً عددية ضمن مجال معيّن، أو قيمةً جزئية (fractional value).
<optgroup> إنشاء مجموعة من الخيارات ضمن العنصر <select>.
<option> تعريف عنصر محتوى ضمن العنصر <select> أو<optgroup> أو <datalist>. وبالتالي يمكن استخدام العنصر <option>لتمثيل عناصر القوائم في مختلف أنوع القوائم في مستند HTML.
<output> تمثيل ناتج عملية حسابية أو أحد أفعال المستخدم.
<progress> تمثيل تقدم إكمال مهمة ما، ويُعرَض عادةً على شكل شريط تقدم (progress bar).
<select> تمثيل عنصر من عناصر النماذج يوفِّر قائمةً من الخيارات.
<textarea> تمثيل عنصر من عناصر النماذج يوفِّر مربعًا نصيًا متعدد الأسطر قابلًا للتعديل.

العناصر التفاعلية

توفِّر لغة HTML مجوعةً من العناصر التي تساعد في إنشاء عناصر تفاعلية يستطيع المستخدم التفاعل معها.

العنصر الوصف
<details> يُستخدم العنصر <details> لعرض معلومات إضافية للمستخدم يمكنه إظهارها وإخفاؤها متى شاء. يمكن وضع أيّ نوع من المحتوى ضمن العنصر <details>، وتكون محتوياته مخفيةً افتراضيةً (إلا إذا ضُبِطَت الخاصية open).
<summary> يُستخدم العنصر <summary> لعرض خلاصة أو لافتة أو عنوان لمحتويات العنصر<details>.