مدونة منير

ملخص البدء في لغة Html

دليل مختصر في لغة Html ليساعدك على البدء في مسار تطوير المواقع

منيرمنير الدكاك

الفصل الأول

ما هي لغة Html؟

تعرف على لغة Html وكيفية ربط اللغات الأخرى بها.

#HowToFrontend_HTML






ما هي لغة Html؟

هي اللغة الأساسية في إنشاء صفحات الويب.
تعد اللغة التي تقوم ببناء هيكل الصفحة ثم يتم تعديل مظهر هذا الهيكل بلغة Css وإضافة التفاعلية والوظائف البرمجية باستخدام لغة Javascript.


#HowToFrontend_HTML

إنشاء الملف

  1. قم بإنشاء ملف مع اللاحقة html

  2. قم بكتابة <DOCTYPE html!> لتحديد إصدار Html5

  3. تتكون الصفحة من قسمين رئيسيين body & head

إن ال <body> هو العنصر الذي نكتب داخله العناصر التي تظهر للمستخدم في الصفحة.

أما ال <head> فيحتوي على بعض إعدادات الصفحة وسنتناول الحديث عنه في هذا الفصل.

#HowToFrontend_HTML


أقسام الكود

<"html lang="en>

  1. عنصر / Element

  2. خاصية / Attribute

  3. قيمة / Value



* انتبه لاستخدام الألوان فهي ثابتة على مدار الكتاب

#HowToFrontend_HTML



كتابة التعليقات

تستخدم التعليقات لشرح موضوع ما أثناء كتابة الكود حتى

نبتعد عن الحيرة في سبب كتابة كل سطر.

لكتابة تعليق بلغة Html نقوم بكتابة <-- --!> ونكتب التعليق داخلهما كما في المثال :

<-- This is a comment --!>

#HowToFrontend_HTML

عنصر <meta/>

نبدأ الحديث عن عناصر ال head بعنصر meta تقوم ال meta tags بضبط الإعدادات التعريفية للصفحة ومن أهمها :

html
<meta charset=”UTF-8”/> <!-- تقوم بضبط ترميز الصفحة (ضرورية لدعم اللغة العربية) --> <meta name=”description” content=”my page” /> <!-- تقوم بضبط وصف الصفحة (في محركات البحث) --> <meta name=”viewport” content=”width=devicewidth, initial-scale=1”> <!-- تقوم بضبط عرض الشاشة (ضرورية لتصميم متجاوب) -->



#HowToFrontend_HTML

<style></style>

يستخدم هذا العنصر لتنسيق الصفحة بلغة css كما ويوجد طرق أخرى للتنسيق :

html
<style> p {color: red} </style> <!-- Style tag --> <link rel=”stylesheet” href=”./style.css” /> <!-- استدعاء ملف تنسيق خارجي --> <p style=”color: red”></p> <!-- Style attribute -->


#HowToFrontend_HTML


<script></script>

يستخدم هذا العنصر لكتابة برمجة الصفحة بلغة Javascript أو لاستدعاء ملف خارجي :

html
<script> // Javascript code here </script> <script src=”./main.js”></script>
#HowToFrontend_HTML



عناصر أخرى داخل ال head

html
<!-- Page Title --> <title> عنوان الصفحة </title> <!-- Page Icon--> <link rel=”icon” src=”./icon.png”>

الفصل الثاني

عناصر تشرح نفسها Html Semantics

نتحدث في هذا الفصل عن ال Semantic Elements في لغة Html وكيف يجب عليك توظيفها

#HowToFrontend_HTML


ما هي ال Semantic elements ؟

هي عناصر يكون اسمها معبراً عن معناها ووظيفتها.

أغلب هذه العناصر تظهر بنفس الشكل للمستخدم ومع هذا

فإن عليك استخدامها بالشكل الصحيح للأسباب التالية :

  • الاستخدام الصحيح لهذه العناصر يحسن من قدرة محركات البحث على فهم موقعك وبالتالي تحسين ظهوره.

  • تحسن من شكل الكود الخاص بك وتجعله أسهل للقراءة والفهم.


#HowToFrontend_HTML


div & p

يستخدم العنصر <div> كحاوي لعناصر أخرى وهو عنصر block أي أنه يأخذ كامل السطر. لا يعتبر من ال Semantic elements ولكنه مستخدم جداً وستجد لاحقاً فائدة استخدام ال Semantics عوضاً عنه.

يستخدم العنصر <p> لكتابة فقرة نصية وهو لا يمكن أن يحوي داخله أي عنصر block.

#HowToFrontend_HTML

ال Semantics واستخداماتها

يستخدم لرأس الصفحة

<header>

شريط التنقل

<nav>

المنطقة السفلية للصفحة

<footer>

مقال مستقل الفكرة

<article>

قسم جانبي مستقل المحتوى

<aside>

حاوية مجموعة عناوين

<hgroup>

لتحديد قسم من العنصر الأب

<section>


#HowToFrontend_HTML


لتحديد القسم الرئيسي من

العنصر الأب

<main>

حاوي لصورة ووصفها

<figure>

وصف الصورة داخل العنصر

السابق

<figcaption>

محتوى مخفي يظهر عند

الضغط عليه

<details>

عنصر ابن يحدد عنوان

العنصر السابق

<summary>


#HowToFrontend_HTML
الفرق الذي تحدثه ال semantics


الفرق الذي يحدثه استخدام ال Semantics، حيث أن استخدام عنصر يعبر عن مكانه ومحتواه يجعل موقعك مفهوماً لكل من المبرمجين ومحركات البحث.

مصدر الصورة


الفصل الثالث

صياغة النصوص في Html

تعرف على الطرق المختلفة لتشكيل وصياغة النصوص في لغة Html

#HowToFrontend_HTML







الصيغ النصية

تحوي لغة Html على عناصر مسؤولة عن إظهار نص ما بطريقة محددة حيث أن كل ما عليك هو كتابة النص المطلوب ضمن العنصر.

#HowToFrontend_HTML

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

تستخدم لعناوين الصفحة

<h1> to <h6>

لفصل جزء من النص

(لتنسيق مختلف مثلاً)

<span>

خط عريض

<b>, <strong>

خط مائل

<i>, <em>

كلام تحته خط

<ins>, <u>

كلام مشطوب

<del>, <strike>

كلام صغير

<small>


#HowToFrontend_HTML

كلام معلم

<mark>

للكتابة بالأس

<sup>

للكتابة الترميزية

<sub>

"اقتباس سطري"

<q>

اقتباس طويل من أكثر من سطر

<blockqoute>

يستخدم لكتابة كود

<code>

يحافظ هذا العنصر على

المسافات البيضاء

كالفراغات والأسطر

<pre>

يستخدم لإحاطة كلمة بلغة

مختلفة عن الفقرة التي تحويها

<bdi>


#HowToFrontend_HTML


</wbr>

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

بفرض أن لدينا رابط طويل جداً، عندئذ يمكننا أن نخبر المتصفح أن يقوم بكسر الرابط (بعد النطاق الرئيسي على سبيل المثال) عوضاً أن يتم كسره في مكان عشوائي.

#HowToFrontend_HTML

الروابط

من العناصر الأساسية في اللغة هو الرابط <a>

يستخدم كما نعرف لربط صفحات الانترنت ببعضها.

نكتب داخل العنصر نص الرابط ويجب أن يكون معبراً عن المكان الذي يذهب إليه، ثم نكتب عنوان الرابط في اللاحقة href كما في الشكل :

html
<a href=”https://www.google.com”> Link to google </a>
#HowToFrontend_HTML

يملك العنصر <a> لاحقة أخرى وهي target التي تحدد مكان فتح الرابط المضغوط. وهذه هي القيم التي تأخذها :

لفتح الرابط في صفحة جديدة

blank_

لفتح الرابط في

الصفحة نفسها

self_

لفتح الرابط في النافذة الأم

parent_

لفتح الرابط في عنصر

<iframe> محدد

frameName


* سنلقي نظرة في المستقبل على عنصر <iframe>

الفصل الرابع

الوسائط المتعددة في Html

الصور، الفيديوهات والصوتيات. تعلم كيف تتعامل مع هذه العناصر في لغة Html

#HowToFrontend_HTML







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

إن الوسائط المتعددة هي العناصر المسؤولة عن عرض الصور، مقاطع الفيديو والصوتيات في الصفحة.

#HowToFrontend_HTML

الصور

العنصر المسؤول عن عرض الصور في الصفحة هو العنصر </ img> يلحق به ال attributes التالية:

لتحديد مصدر الصورة

src

لعرض نص بديل في حال

فشل تحميل الصورة

alt

لتحديد متى يتم تحميل

الصورة. تأخذ القيمة eager

للتحميل مع تحميل الصفحة

أو lazy لتحميل الصورة

عند المرور بها

loading



#HowToFrontend_HTML

الفيديو

العنصر المسؤول عن عرض الصور في الصفحة هو العنصر <video></video> يلحق به ال attributes التالية:

تشغيل الفيديو تلقائياً

عند فتح الصفحة

autoplay

إضافة أزرار التحكم بالفيديو

controls

لتكرار المقطع عند انتهائه

loop

لتشغيل المقطع بدون صوت

muted

لتعيين صورة غلاف الفيديو

poster


#HowToFrontend_HTML

الصوتيات

العنصر المسؤول عن عرض الصور في الصفحة هو العنصر <audio></audio> يلحق به ال attributes التالية:

تشغيل المقطع تلقائياً

عند فتح الصفحة

autoplay

إضافة أزرار التحكم المقطع

controls

لتكرار المقطع عند انتهائه

loop

لتشغيل المقطع بدون صوت

muted


#HowToFrontend_HTML

</source>

في كل من عنصري الفيديو والصوت يمكن أن تستخدم src لتحديد المسار المطلوب للملف أو يمكنك استخدام هذا العنصر داخلهما لتحديد نوع ومصدر الفيديو أو الصوت المطلوب. يلحق به ال attributes التالية :

لتحديد مسار الفيديو أو الصوت

src

لتعيين نوع الملف ولاحقته

(video/mp4)

type


#HowToFrontend_HTML

ماذا تعلمت؟

html
<body> <!-- Example of image --> <img src=”./images/logo.png” alt=”my logo”> <!-- Example of video --> <video controls loop muted poster=”./poster.jpg”> <source src=”./vid1.mp4” type=”video/mp4” /> </video> <!-- Example of audio --> <audio controls loop> <source src=”./aud1.mp3” type=”audio/mp3” /> </audio> </body>

الفصل الخامس

الجداول والقوائم

تعلم كيف ترتيب المحتوى المكتوب من خلال الجداول والقوائم المرتبة وغير المرتبة

#HowToFrontend_HTML






الجداول والقوائم

من العناصر المهمة في ترتيب المحتوى والمعلومات بطريقة منظمة في الصفحة.

عناصر الجداول والقوائم هي عنوان هذه الحلقة.

#HowToFrontend_HTML

<ul></ul>

عنصر القوائم غير المرتبة، ويعني أن العناصر داخله ليست ذات ترتيب معين وتظهر بشكل بنود نقطية. يمثل العنصر <li> عنصر بند في القائمة. مثال على قائمة غير مرتبة :

html
<h3> Get from market </h3> <ul> <li> Milk </li> <li> Eggs </li> <li> Cheese </li> </ul>
#HowToFrontend_HTML

<ol></ol>

عنصر القوائم المرتبة، ويعني أن العناصر داخله ذات ترتيب معين وتظهر بشكل بنود مرقمة. يمثل العنصر <li> عنصر بند في القائمة. مثال على قائمة مرتبة :

html
<h3> Steps to create a google account </h3> <ol> <li> Choose an email adress </li> <li> Choose a secure password </li> <li> Confirm your account </li> <ol>
#HowToFrontend_HTML

<table></table>

هو العنصر الذي يمثل الجدول، وهذا الجدول يحوي أسطر <tr> وكل سطر يحوي خانات <td> بحيث يحوي السطر الواحد خانة واحدة أو أكثر. مثال على جدول :

html
<table> <tr> <td> Hello </td> <td> مرحبا </td> </tr> <tr> <td> Tea </td> <td> شاي </td> </tr> </table>
#HowToFrontend_HTML


يمكن أيضاً استخدام عناصر لتنظيم الجدول أكثر (شكلياً وكتابياً) ومنها:


للخلية الأولى من كل سطر

<th>

لوضع وصف للجدول

<caption>

لتوضيح الأقسام

المختلفة للجدول

<thead>

<tbody>

<tfoot>

لتمييز أعمدة الجدول

<col>, <colgroup>


الفصل السادس

نماذج الإدخال في Html

تعلم كل ما تحتاجه عن النماذج وعناصر الإدخال في لغة Html

#HowToFrontend_HTML






الفورم

عنصر <form> هو العنصر الذي يتعامل معه المستخدم لإدخال البيانات التي يتم معالجتها لأداء وظيفة معينة كتسجيل حساب جديد في الموقع حيث يتم إدخال المعلومات في حقول إدخال مخصصة تتبع للفورم.

#HowToFrontend_HTML

يوضح المثال التالي طريقة كتابة عنصر الفورم وال attributes

الخاصة به:

html
<form name=”myForm” method=”post” action=”./file.php”> </form>

اسم الفورم والذي يستخدم

للإشارة إليه

name

يحدد نوع الطلب عند

التسجيل (الإرسال في المثال)

method

تحديد مسار لإرسال البيانات إليه

(ملف php محلي في المثال)

action

#HowToFrontend_HTML


</ input>

يشكل العنصر أغلب عمليات الإدخال في أي موقع وذلك لكثرة الأشكال والأنواع التي يمكن أن يتخذها والتي يمكنك الاختيار بينها عن طريق ال attribute type كما في المثال:

html
<input type=”text” />


* عند عدم تحديد النوع فإن القيمة الافتراضية له هي text

#HowToFrontend_HTML

أنواع العنصر input

قيم ممكنة للخاصية type في العنصر </ input>:

يستخدم لكتابة النصوص

القصيرة كاسم المستخدم

text

يستخدم لكتابة الايميل

email

حقل كلمات السر

(يحجب ما يكتب فيه)

password

حقل يقبل الأرقام فقط

number

الحقل المخصص للبحث

search

حقل إدخال للروابط

url


#HowToFrontend_HTML

يستخدم لاختيار لون من

عجلة الألوان

color

يستخدم لرفع الملفات

file

يستخدم لإضافة صورة
(لاختيار احداثيات

على صورة)

image

لتحديد مجال معين

range

حقل إدخال مخفي

hidden

زر لتحريض حدث التسجيل

في الفورم

submit

زر لإعادة جميع الحقول إلى

الوضع الافتراضي

reset

#HowToFrontend_HTML



radio

checkbox

🔵🔘

✅☑️

يستخدم لاختيار واحد من

عدة خيارات

يستخدم لاختيار أكثر

من خيار واحد

لا يمكن اختيار أكثر من خيار

يمكن اختيار عدة خيارات


#HowToFrontend_HTML

<textarea></textarea>

هو مساحة نصية تستخدم للنصوص الكبيرة مثل تقديم الاقتراحات والشكاوي على سبيل المثال. كل ما يكتب داخل هذا العنصر يساوي ال value الخاصة بالعنصر.


<button></button>

هذا العنصر هو الزر الذي يضغطه المستخدم لتنفيذ أمر ما، ويكون النص داخله هو نص الزر. يقوم بشكل افتراضي بحدث ال submit في الفورم الذي يوجدفيها، كما يمكن برمجته للقيام بأي أمر آخر عن طريق Javascript وال event attributes.

#HowToFrontend_HTML

<select></select>

يمثل هذا العنصر قائمة متعددة الاختيارات يختار منها المستخدم ما يناسبه، كالبلد الذي يعيش فيه أو نوع هاتفه.

يستخدم العنصر <option> من أجل تمثيل كل اختيار ضمن القائمة، ونستخدم العنصر <optgroup> لتصنيف الخيارات في مجموعات.

هنا بعض ال attributes الخاصة بالعنصر:

تسمح للمستخدم بأكثر

من اختيار واحد

multiple

لتحديد عدد الخيارات الظاهرة

في القائمة قبل فتحها

size

#HowToFrontend_HTML


<label></label>

يستخدم هذا العنصر لربط نص بحقل إدخال مرافق له (لشرحه).

يتم ذلك عن طريق إعطاء الحقل المطلوب id معين ثم كتابة ذلك ال id ضمن for كما في المثال:

html
<label for=”username”> username label </label> <input type=”text” id=”username” />
#HowToFrontend_HTML




<fieldset></fieldset>

هو إطار يحيط بعناصر الفورم ويساعد في تنظيمها من خلال تقسيم حقول الإدخال إلى مجموعات معنونة.

يستخدم العنصر <legend> كعنوان للإطار.


#HowToFrontend_HTML


attributes خاصة بعناصر الفورم

هو النص البديل الذي يظهر

قبل كتابة شيء في الحقل

placeholder

تمثل القيم التي تدخل في

الحقل وتختلف حسب نوع الحقل

value

يعني أن العنصر لا يمكن

التعديل عليه

ويمكن قرائته فقط

readonly

تستخدم لتعطيل حقل ما

وتوقيفه عن العمل

disabled


الفصل السابع

ال Global attributes في Html

السمات العامة التي يمكن تطبيقها على جميع عناصر اللغة

#HowToFrontend_HTML







Global Attributes

هي خواص عامة يمكن إضافتها إلى عناصر مختلفة فتقوم بالوظيفة نفسها في هذه العناصر كلها.

#HowToFrontend_HTML



class & id

ال class وال id هما طريقتان للوصول إلى العناصر وتمييزها عن بعضها. ويكون ذلك إما لتنسيقها بشكل معين أو الوصول إليها برمجياً.

يمكن أن يكون ال class وال id أي كلمة أو حرف ولا يجوز أن يبدأ برقم، وتعتبر التسمية المعبرة عن وظيفة العنصر ممارسة برمجية أفضل.


#HowToFrontend_HTML




إن العنصر الذي يملك id معين يكون فريداً من نوعه إذ أنه لا يمكن لعنصرين أن يحملا نفس ال id . وهذا ما يجعل ال id أنسب للوصول البرمجي.

أما ال class فهو ليس فريداً ويمكن لأكثر من عنصر امتلاك نفس ال class كما يمكن للعنصر الواحد امتلاك أكثر من class وهذا ما يجعله أنسب للتنسيق.

#HowToFrontend_HTML

data-attribute

تستخدم هذه الخاصية لتخزين بيانات معينة في عنصر دون التأثير على طريقة عرضه. يتم استخدامها عن طريق الكتابة كما في المثال (حيث أن الكلمة بعد الداش (-) اختيارية):

html
<div data-test=”some-value”></div>
js
el.getAttribute("data-test")
css
/* Get the value */ div::before { content: attr(data-test) }
#HowToFrontend_HTML

الخواص البوليانية

تأخذ القيمة true بوجودها والقيمة false بغيابها.

إخفاء العنصر

hidden

تحديد السماح للمتصفح

بترجمة محتوى العنصر

translate

جعل العنصر قابل

للسحب والإفلات

draggable

تجعل العنصر قابل لتعديل

المحتوى من قبل المستخدم

contenteditable

تحديد السماح للمتصفح

بتتبع لفظ الكلمات

spellcheck


#HowToFrontend_HTML


خواص عامة أخرى


عنوان للعنصر يظهر عند

التمرير فوق العنصر

title

لتحديد إتجاه العنصر

من اليمين لليسار rtl

أو من اليسار لليمين ltr

dir

لتحديد لغة العنصر

وتستخدم غالباً مع

العنصر الأساسي <html>

lang


الفصل الثامن

معالجة الأحداث في Html

السمات المعنية بالتقاط الأحداث في لغة Html

#HowToFrontend_HTML






Event Attributes

التقاط الأحداث ومعالجتها هو جزء أساسي في الكثير من التطبيقات البرمجية ومنها برمجة المواقع. وهو هنا عبارة عن تنفيذ لأمر أو دالة برمجية عند وقوع حدث نحدده كالضغط على زر أو التمرير بالفأرة أو اكتمال تحميل الصفحة.


#HowToFrontend_HTML



كيف تستخدم؟

html
<button onclick="doSomething()">
  • عنصر الزر

  • Event Attribute

  • الدالة المطلوب تنفيذها (المعرفة بلغة Javascript)

#HowToFrontend_HTML

بعض ال Event Attributes المهمة

أحداث تتعلق بالفأرة:

تنفيذ الأمر عند النقر

على عنصر

onclick

تنفيذ الأمر عند النقر المزدوج

على عنصر

ondblclick

عند مرور الفأرة فوق العنصر

onmouseover

عند مغادرة الفأرة للعنصر

onmouseleave

عند ضغط الزر الأيمن للفأرة

oncontextmenu


#HowToFrontend_HTML

أحداث تتعلق بالإدخال ولوحة المفاتيح:


تنفيذ الأمر عند الضغط على زر

onkeydown

تنفيذ الأمر عند زوال الضغط على زر

onkeyup

تنفيذ الأمر أثناء الضغط على زر

onkeypress

تنفيذ الأمر عند تغير قيمة العنصر

onchange

تنفيذ الأمر عند الإدخال في

حقل إدخال

oninput

يتنفذ الأمر في عنصر <form>

عند الضغط على زر submit

onsubmit

#HowToFrontend_HTML


أحداث عامة وأحداث نافذة المتصفح (window):

تنفيذ الأمر عند اكتمال

تحميل الصفحة

onload

تنفيذ الأمر عند التمرير

داخل العنصر

onscroll

تنفيذ الأمر عند تغيير

حجم العنصر

onresize

عند التركيز على العنصر

onfocus

عند فقدان التركيز

على العنصر

onblur


book logo

ملخص البدء في لغة Html

دليل مختصر في لغة Html ليساعدك على البدء في مسار تطوير المواقع

تابع مدونة منير

اطلع على آخر التحديثات، وشاهد محتوى حصري خاص لكل منصة