مقال: كيف تختارين اللابتوب المناسب؟
قبل الشراء راجعي المعالج والذاكرة وحجم الشاشة.
من أول وسم إلى بناء صفحات ويب كاملة الهيكل — بالشرح والأمثلة والمشاريع التطبيقية
رحلتك الكاملة من أول وسم HTML لحد مشروع HTML متكامل — اضغطي على أي درس للانتقال إليه مباشرة
قبل ما نكتب حرف واحد كود، لازم نفهم الصورة الكبيرة: إيه اللي بيحصل فعليًا لما تفتحي أي موقع في المتصفح؟
01001000 01101001.أي صفحة HTML في الدنيا، من أبسط صفحة لأعقد موقع، لازم تتبع نفس الهيكل الأساسي ده — زي ما أي بيت لازم يكون له أساس وسقف وحوائط.
html اللي يحتوي بداخله وسمين تانيين هما head وbody.head وbody.① السطر الأول: DOCTYPE
<!DOCTYPE html>
<!DOCTYPE html> ليس وسمًا عاديًا، بل إعلان (Declaration) لازم يكون أول سطر في أي ملف HTML.② الوسم html
<html lang="ar"> </html>
<html> هو الوسم الأب (Parent) لكل الصفحة — كل وسم آخر هيتكتب بين وسم الفتح <html> ووسم الغلق </html>.lang="ar" بتحدد لغة محتوى الصفحة (هنا: العربية) — ده بيساعد قارئات الشاشة ومحركات البحث تتعامل مع المحتوى صح.<html> ووسم غلق </html> — الفرق إن وسم الغلق فيه علامة "/" قبل الاسم. هنشرح بالتفصيل باقي محتوى head وbody في الدرس الجاي.test.html، واكتبي فيه بنفسك — بدون نسخ — سطر DOCTYPE ثم وسم html بخاصية lang.الصفحة دي مرجع تقدري ترجعيلها في أي وقت. فيها كل اختصار هيتكرر معاكِ في المذكرة كلها بمعناه الكامل عربي وإنجليزي. مفهوما الـ Attribute والفرق بين Block وInline ليهم درسان مستقلان لاحقًا في مكانهما المناسب من رحلتك.
| الاختصار | الاسم كاملًا بالإنجليزي | المعنى بالعربي |
|---|---|---|
| HTML | HyperText Markup Language | لغة توصيف النص التشعبي — اللغة اللي بنبني بيها هيكل الصفحة (موضوع المذكرة دي) |
| CSS | Cascading Style Sheets | صفحات الأنماط المتتالية — اللغة اللي بنلوّن وننسّق بيها الصفحة (هنتعلمها بعد HTML) |
| JS | JavaScript | جافا سكريبت — لغة البرمجة اللي بتضيف التفاعل والسلوك للصفحة (هنتعلمها بعد CSS) |
| DOM | Document Object Model | نموذج كائن المستند — الطريقة اللي بيها المتصفح "يفهم" ويمثّل عناصر صفحتك في الذاكرة |
| URL | Uniform Resource Locator | محدد الموقع الموحّد — العنوان اللي بتكتبيه في شريط المتصفح أو بتحطيه في href |
| URI | Uniform Resource Identifier | معرّف الموارد الموحّد — مصطلح أشمل من URL يشمل أي طريقة لتحديد مورد |
| HTTP | HyperText Transfer Protocol | بروتوكول نقل النص التشعبي — القواعد اللي بيها المتصفح يطلب صفحة من الإنترنت |
| HTTPS | HTTP Secure | نفس HTTP لكن بشكل مشفّر وآمن — الـ "S" معناها Secure (آمن) |
| UI | User Interface | واجهة المستخدم — الشكل البصري اللي المستخدم بيتعامل معاه (أزرار، حقول، ألوان) |
| UX | User Experience | تجربة المستخدم — مدى سهولة وراحة استخدام الموقع ككل، مش بس شكله |
| API | Application Programming Interface | واجهة برمجة التطبيقات — طريقة تواصل بين برنامجين مختلفين (هتقابليها في JavaScript لاحقًا) |
| SEO | Search Engine Optimization | تحسين محركات البحث — تجهيز الصفحة عشان تظهر بترتيب أفضل في نتائج جوجل |
| W3C | World Wide Web Consortium | اتحاد الشبكة العنكبوتية العالمية — الجهة المسؤولة عن وضع معايير HTML وCSS الرسمية |
| WWW | World Wide Web | الشبكة العنكبوتية العالمية — هي "الويب" اللي اتكلمنا عنه في الدرس الأول |
| UTF-8 | Unicode Transformation Format – 8-bit | ترميز موحّد للحروف يدعم كل اللغات تقريبًا، بما فيها العربية — بنستخدمه في meta charset |
| Portable Document Format | صيغة المستند المحمول — ملفات زي اللي بننزّلها بخاصية download | |
| RTL | Right To Left | من اليمين لليسار — اتجاه كتابة اللغة العربية (بنحدده بـ dir="rtl") |
| LTR | Left To Right | من اليسار لليمين — اتجاه كتابة اللغة الإنجليزية وأغلب اللغات الأجنبية |
| IDE | Integrated Development Environment | بيئة تطوير متكاملة — برنامج بتكتبي فيه الكود، زي VS Code |
| المصطلح | بالإنجليزي | معناه بالعربي |
|---|---|---|
| Tag | Tag | الوسم — الكلمة المحاطة بـ < > زي <p> أو <h1> |
| Element | Element | العنصر — وسم الفتح ومحتواه ووسم الغلق مع بعض، كوحدة واحدة |
| Attribute | Attribute | الخاصية — معلومة إضافية بتتحط جوه وسم الفتح (زي href أو src) — شرح كامل في الدرس 04 |
| Value | Value | القيمة — النص أو الرقم اللي بيتحط بعد علامة = في الخاصية |
| Opening Tag | Opening Tag | وسم الفتح — زي <p>، بيبدأ به العنصر |
| Closing Tag | Closing Tag | وسم الغلق — زي </p>، فيه علامة / وبيقفل بيه العنصر |
| Self-closing Tag | Self-closing / Void Element | وسم فارغ — مالوش وسم غلق منفصل، زي <br> و<img> و<hr> |
| Nesting | Nesting | التداخل — إن وسم يتحط جوه وسم تاني، زي <li> جوه <ul> |
| Parent / Child | Parent / Child Element | الأب / الابن — العنصر اللي بيحتوي عنصر تاني جواه يُسمّى أب، والي جواه يُسمّى ابن |
| Semantic | Semantic HTML | الدلالي — وسوم معناها واضح بيوصف دور المحتوى (زي header وnav)، عكس div العام |
| Block / Inline | Block-level / Inline Element | عنصر سطري (ياخد سطر كامل) / عنصر مضمّن (جوه السطر) — شرح كامل في الدرس 17 |
| Container | Container / Wrapper | الحاوية — عنصر بيلف حوله عناصر تانية عشان يجمّعها (زي div) |
| Placeholder | Placeholder | نص باهت بيظهر جوه حقل الإدخال قبل ما تكتبي فيه أي حاجة |
| Fallback | Fallback | بديل احتياطي — محتوى بيظهر بس لو الحاجة الأساسية فشلت (زي نص جوه audio) |
| Render | Render | العرض — لما المتصفح "يترجم" الكود ويعرضه بصريًا على الشاشة |
| Markup | Markup | التوصيف — وصف أجزاء المحتوى بوسوم (زي "ده عنوان"، "دي فقرة")، من غير أي منطق برمجي |
| Source Code | Source Code | الكود المصدري — الكود المكتوب نفسه، قبل ما المتصفح يحوّله لصفحة ظاهرة |
| Responsive | Responsive Design | التصميم المتجاوب — الموقع اللي شكله بيتناسب تلقائيًا مع أي حجم شاشة (موبايل أو كمبيوتر) |
| Deprecated | Deprecated | مهجور/قديم — وسم أو خاصية كانت تُستخدم قديمًا وبقى غير موصى باستخدامها حاليًا |
img اختصار لكلمة Image ومعناها صورة. الجدول ده بيشرحلك كل وسم هيقابلك في المذكرة بنفس الطريقة.| الوسم | الاسم كاملًا بالإنجليزي | معناه بالعربي |
|---|---|---|
| html | HyperText Markup Language | لغة توصيف النص التشعبي — الوسم الجذري اللي بيلف كل الصفحة |
| head | Head | الرأس — الجزء اللي فيه معلومات عن الصفحة مش بتتعرض للزائر |
| body | Body | الجسم/المتن — الجزء اللي فيه كل المحتوى الظاهر للزائر |
| title | Title | العنوان — بيظهر في تبويب المتصفح |
| meta | Metadata | بيانات وصفية — معلومات عن الصفحة مش محتوى فعلي (زي الترميز أو الوصف) |
| link | Link | رابط — بيربط الصفحة بملف خارجي زي CSS |
| script | Script | سكريبت — كود جافا سكريبت |
| h1–h6 | Heading 1 to 6 | عنوان بمستوى من 1 (الأهم) لـ 6 (الأقل أهمية) |
| p | Paragraph | فقرة نصية |
| div | Division | تقسيم — عنصر حاوٍ عام بلا معنى دلالي، بيُستخدم لتقسيم الصفحة لأجزاء |
| span | Span | يمتد على/يشمل — عنصر مضمّن عام بيُستخدم للف جزء بسيط جوه سطر نص |
| a | Anchor | مرساة — الوسم اللي بيعمل رابط (Link) |
| img | Image | صورة |
| br | Line Break | كسر سطر — بينزل سطر جديد من غير ما يبدأ فقرة جديدة |
| hr | Horizontal Rule | خط أفقي فاصل بين أجزاء المحتوى |
| ul | Unordered List | قائمة غير مرتبة (نقاط) |
| ol | Ordered List | قائمة مرتبة (أرقام) |
| li | List Item | عنصر داخل القائمة |
| dl | Description List | قائمة وصف (مصطلح وتعريفه) |
| dt | Description Term | المصطلح نفسه جوه قائمة الوصف |
| dd | Description Definition | تعريف/شرح المصطلح جوه قائمة الوصف |
| table | Table | جدول |
| tr | Table Row | صف في الجدول |
| td | Table Data | خلية بيانات عادية في الجدول |
| th | Table Header | خلية عنوان/رأس في الجدول |
| thead | Table Head | قسم رأس الجدول |
| tbody | Table Body | قسم جسم الجدول (البيانات الأساسية) |
| tfoot | Table Foot | قسم تذييل الجدول |
| caption | Caption | عنوان توضيحي للجدول |
| form | Form | نموذج/استمارة لإدخال بيانات من المستخدم |
| input | Input | إدخال — حقل يكتب/يدخل فيه المستخدم بيانات |
| label | Label | تسمية توضيحية لحقل إدخال |
| button | Button | زر |
| select | Select | اختيار — قائمة منسدلة يختار منها المستخدم |
| option | Option | خيار داخل القائمة المنسدلة |
| textarea | Text Area | منطقة نص — حقل لكتابة نص طويل متعدد الأسطر |
| fieldset | Field Set | مجموعة حقول مرتبطة ببعض جوه إطار |
| legend | Legend | عنوان توضيحي لمجموعة الحقول (fieldset) |
| strong | Strong | قوي — تأكيد قوي على النص (مهم دلاليًا مش بس شكليًا) |
| em | Emphasis | تشديد/تأكيد على النص |
| b | Bold | عريض — تنسيق شكلي بس من غير معنى تأكيد |
| i | Italic | مائل — تنسيق شكلي بس من غير معنى تأكيد |
| mark | Mark | تمييز/تظليل جزء من النص |
| small | Small | نص أصغر (زي الملاحظات الجانبية) |
| sub | Subscript | نص منخفض تحت السطر (زي H₂O) |
| sup | Superscript | نص مرتفع فوق السطر (زي X²) |
| header | Header | رأس الصفحة أو القسم |
| footer | Footer | تذييل الصفحة أو القسم |
| nav | Navigation | التنقل — قسم روابط التنقل الرئيسية |
| main | Main | المحتوى الرئيسي الوحيد في الصفحة |
| section | Section | قسم من المحتوى له موضوع محدد |
| article | Article | مقال — محتوى مستقل بذاته زي بوست أو خبر |
| aside | Aside | جانبي — محتوى مكمّل مش أساسي (زي شريط جانبي) |
| audio | Audio | صوت |
| video | Video | فيديو |
| source | Source | مصدر الملف (صوت/فيديو) خصوصًا مع بدائل متعددة |
| iframe | Inline Frame | إطار مضمّن — بيعرض صفحة تانية جوه صفحتك |
| الخاصية | بالإنجليزي | معناها بالعربي |
|---|---|---|
| href | Hypertext Reference | مرجع النص التشعبي — وجهة الرابط |
| src | Source | المصدر — مسار الملف (صورة، صوت، فيديو...) |
| alt | Alternative Text | نص بديل — بيظهر لو الصورة متحمّلتش، ومهم لقارئات الشاشة |
| id | Identifier | معرّف — اسم فريد للعنصر (مايتكررش في نفس الصفحة) |
| class | Class | فئة/تصنيف — اسم ممكن يتكرر على أكتر من عنصر عشان تنسيقهم مع بعض |
| type | Type | النوع — بيحدد نوع الحقل أو العنصر |
| target | Target | الهدف — فين هيفتح الرابط (نفس التبويب ولا تبويب جديد) |
| rel | Relationship | العلاقة بين الصفحة الحالية والمورد اللي بتحطي رابطه |
| placeholder | Placeholder | نص باهت توضيحي جوه حقل الإدخال |
| required | Required | مطلوب — الحقل لازم يتملى قبل الإرسال |
| value | Value | القيمة الافتراضية أو المُدخلة في الحقل |
| colspan | Column Span | عدد الأعمدة اللي الخلية هتمتد عليها في الجدول |
| rowspan | Row Span | عدد الصفوف اللي الخلية هتمتد عليها في الجدول |
| controls | Controls | عناصر تحكم — بتظهر أزرار التشغيل/الإيقاف في الصوت والفيديو |
| charset | Character Set | مجموعة الترميز اللي بتحدد إزاي الحروف بتتخزن (زي UTF-8) |
| lang | Language | لغة محتوى الصفحة |
| dir | Direction | اتجاه الكتابة (rtl أو ltr) |
دي من أهم النقط اللي أي مبتدئة لازم تفهمها كويس من الأول، عشان متلخبطيش بين النوعين طول رحلتك مع HTML.
① وسم title
<title>مذكرتي الأولى</title>
<title> يحدد النص اللي بيظهر في اسم تبويب المتصفح، وأيضًا العنوان اللي بيظهر لو حفظتِ الصفحة كمفضّلة (Bookmark).<head> فقط — لو حطيتيه في body مش هيظهر بشكله الصحيح كعنوان تبويب.② وسم meta charset
<meta charset="UTF-8">
<meta charset="UTF-8"> يخبر المتصفح بترميز الحروف المستخدم في الصفحة — UTF-8 يدعم كل اللغات تقريبًا، بما فيها العربية.meta من الوسوم القليلة اللي مالهاش وسم غلق منفصل (وسم فارغ / Self-closing).قبل ما ندخل في التاجات الأساسية زي العناوين والفقرات، لازم تفهمي حاجة مهمة جدًا: التاج نفسه ممكن يحمل معلومات إضافية بتغيّر شكله أو وظيفته — المعلومات دي اسمها Attribute.
attribute="value" — يعني اسم الخاصية، وعلامة =، وبعدها القيمة بين علامتي تنصيص.<a href="#booking" title="اذهبي لقسم حجز المواعيد">احجزي موعدك</a>
href وtitle اتكتبوا جوه وسم الفتح <a> نفسه، قبل علامة > اللي بتقفله — أبدًا مش بتتكتب في وسم الغلق.a أو img — بيحدد نوع العنصر.href أو src — بتحدد تفاصيل وسلوك العنصر.| الخاصية | وظيفتها | مثال من مشروع العيادة |
|---|---|---|
| id | معرّف فريد لعنصر واحد بس في الصفحة | id="booking" |
| class | تصنيف ممكن يتكرر على أكتر من عنصر لتنسيقهم مع بعض | class="service-card" |
| title | نص توضيحي بيظهر عند تمرير الماوس فوق العنصر | title="عيادة سلمى حسن للأطفال" |
| style | تنسيق مباشر سريع للعنصر (هنتوسع فيه مع CSS) | style="color:red" |
| href | وجهة الرابط في وسم a | href="#services" |
| src | مصدر ملف الصورة أو الفيديو | src="dr-salma.jpg" |
| alt | نص بديل للصورة لو متحمّلتش | alt="صورة الدكتورة سلمى حسن" |
| width | عرض الصورة بالبيكسل | width="140" |
| height | ارتفاع الصورة بالبيكسل | height="140" |
| lang | لغة محتوى العنصر | lang="ar" |
| dir | اتجاه الكتابة | dir="rtl" |
<img id="doctor-photo" class="round-photo" src="dr-salma.jpg" alt="صورة الدكتورة سلمى حسن" width="140" height="140" title="د. سلمى حسن — استشارية أطفال">
img واحد لوحده حمل 7 خصائص مختلفة في نفس الوقت — كل خاصية بتضيف تفصيلة مختلفة (المعرّف، التصنيف، المصدر، النص البديل، العرض، الارتفاع، التلميح). ده بالظبط اللي بيخلي Attribute مهمة جدًا: التاج بيحدد "ده صورة"، لكن الخصائص هي اللي بتحدد "أي صورة، وبأي شكل".a يحتوي على href يوديكي لقسم "#services"، وtitle يوضّح إنه رابط الخدمات، وclass اسمها "nav-link".اتعرّفتي في الدرس اللي فات على meta charset، لكن وسم meta ليه استخدامات تانية مهمة جدًا بتأثر على شكل موقعك على الموبايل، وعلى ظهوره في نتائج جوجل. خلينا نجمعها كلها هنا في درس واحد.
<meta> بيدّي المتصفح ومحركات البحث "معلومات عن الصفحة" مش بتظهر للزائر — كل meta ليها خاصية name أو charset بتحدد نوع المعلومة، وخاصية content بتحدد قيمتها.<head>، وهي وسوم فارغة (Self-closing) زيها زي meta charset.① meta charset — مراجعة سريعة
<meta charset="UTF-8">
② meta viewport
<meta name="viewport" content="width=device-width, initial-scale=1.0">
meta viewport هو أهم وسم meta لأي موقع بيتصفحه الناس من الموبايل — وهو معظمهم فعليًا.width=device-width: يخلي عرض الصفحة يساوي عرض شاشة الجهاز نفسه بالظبط.initial-scale=1.0: يحدد مستوى التكبير الأولي عند فتح الصفحة أول مرة (بدون تكبير أو تصغير).③ meta description
<meta name="description" content="عيادة الدكتورة سلمى حسن - استشارية طب الأطفال وحديثي الولادة بالمنصورة">
meta description هو النص القصير اللي بيظهر تحت رابط صفحتك في نتائج البحث بجوجل — مش عنوان الصفحة، لكن الوصف اللي تحته.④ meta keywords
<meta name="keywords" content="عيادة أطفال, تطعيمات, المنصورة, د. سلمى حسن">
meta keywords كان قديمًا وسيلة لإخبار محركات البحث بالكلمات المرتبطة بصفحتك.أي صفحة فيها عناوين رئيسية وفرعية — بالظبط زي أي كتاب مدرسي فيه عنوان الفصل، وتحته عنوان الدرس، وتحته عنوان الفقرة.
① وسم h1
<h1>عيادة الدكتورة سلمى حسن</h1>
② وسم h2
<h2>عن الدكتورة</h2>
③ وسم h3
<h3>مجالات التخصص</h3>
④ وسم h4
<h4>متابعة نمو الأطفال</h4>
h4 مستوى أصغر من h3 — تستخدميه لما تحتاجي تقسّمي نقطة فرعية موجودة تحت h3 لأجزاء أصغر منها. مثلًا: h3 "مجالات التخصص" ← h4 "متابعة نمو الأطفال".⑤ وسم h5
<h5>جدول التطعيمات</h5>
h5 نادر الاستخدام في الصفحات البسيطة، ويظهر عادة في صفحات طويلة جدًا بها تفاصيل كثيرة، مثل توثيق تقني أو مقال طويل مقسّم لأقسام دقيقة.⑥ وسم h6
<h6>* الأسعار قابلة للتغيير</h6>
h6 أصغر وأقل مستويات العناوين أهمية، ونادرًا ما تحتاجينه في مذكرة أو موقع بسيط.h1 إلى h6، مرتبة من الأهم (h1) إلى الأقل أهمية (h6).h1 يُستخدم مرة واحدة فقط في الصفحة عادة — للعنوان الرئيسي الذي يلخّص محتوى الصفحة كلها.h2 إلى h6 تُستخدم لتقسيم المحتوى لأقسام وأقسام فرعية، بالترتيب المنطقي وبدون تخطّي مستوى (مثلًا لا تنتقلي من h2 مباشرة لـ h4).⑦ مثال مركّب يجمع كل المستويات معًا
<h1>عيادة الدكتورة سلمى حسن</h1> <h2>عن الدكتورة</h2> <h3>مجالات التخصص</h3> <h4>متابعة نمو الأطفال</h4> <h5>جدول التطعيمات</h5> <h6>* الأسعار قابلة للتغيير</h6>
بعد العناوين، أكتر وسم هتستخدميه في حياتك مع HTML هو وسم الفقرة — أي كلام عادي بتكتبيه بيتحط جواه.
① وسم p — الفقرة
<p>هذه فقرة نصية عادية تحتوي على أي كلام تريدين كتابته.</p>
<p> اختصار Paragraph، ويُستخدم لأي نص عادي مستقل بذاته.p يظهر في سطر جديد تلقائيًا، ومعه مسافة صغيرة فوقه وتحته — لكن ده تنسيق افتراضي من المتصفح، مش لأن p "بيعمل" حاجة سحرية؛ لاحقًا هنتحكم في المسافات دي بـ CSS.② وسم br — سطر جديد
السطر الأول<br>
السطر الثاني
<br> اختصار Break — بينقل الكلام اللي بعده لسطر جديد، بدون ما يفتح فقرة جديدة منفصلة (فمفيش مسافة كبيرة زي بين فقرتين).br وسم فارغ (Self-closing) — يعني معندوش وسم غلق </br>.③ وسم hr — خط فاصل
<hr>
<hr> اختصار Horizontal Rule — بيرسم خط أفقي بيفصل بين قسمين مختلفين من المحتوى، دلاليًا وبصريًا.br، بدون وسم غلق.أحيانًا محتاجين نلفت الانتباه لكلمة معينة جوه الكلام — دي وسوم التنسيق النصي، وهنشرح كل وحدة فيهم لوحدها الأول.
① strong — أهمية حقيقية
<strong>تحذير: لا تشاركي كلمة السر مع أحد</strong>
<strong> يعني إن النص "مهم فعلًا" دلاليًا — قارئ الشاشة للمكفوفين مثلًا بيرفع نبرة صوته عنده. المتصفح بيخليه عريضًا تلقائيًا كنتيجة جانبية، مش كهدف أساسي.② b — عريض شكلي فقط
<b>اسم المنتج: قميص قطن</b>
<b> يعرض النص عريضًا شكليًا بدون أي معنى دلالي إضافي — استخدميه لما عايزة بس شكل عريض بصري (زي اسم منتج في قائمة) من غير ما تقصدي "ده تحذير مهم".③ em — تأكيد بالنبرة
<em>لازم توصلي بدري</em>
<em> اختصار Emphasis — يعني "بيتقال بتأكيد في النبرة"، زي لو كنتِ بتتكلمي وشددتِ على كلمة معينة. المتصفح بيعرضه مائلًا تلقائيًا.④ i — مائل شكلي فقط
<i>كتاب مية عام من العزلة</i>
<i> يعرض النص مائلًا شكليًا فقط، بدون تأكيد في المعنى — يُستخدم غالبًا لأسماء كتب أو مصطلحات أجنبية داخل نص عربي.⑤ mark — تظليل
<mark>خصم 50%</mark>
<mark> يظلل النص بخلفية صفراء تلقائيًا، زي القلم الفسفوري — مفيد للفت الانتباه لكلمة أو عرض خاص.⑥ small — نص أصغر
<small>جميع الحقوق محفوظة 2026</small>
<small> يصغّر حجم النص، ويُستخدم غالبًا للملاحظات الجانبية أو حقوق النشر أسفل الصفحة.⑦ sub — نص منخفض
H<sub>2</sub>O
<sub> اختصار Subscript — يكتب النص أسفل مستوى السطر، مفيد للصيغ الكيميائية مثل الماء H₂O.⑧ sup — نص مرتفع
2<sup>2</sup>
<sup> اختصار Superscript — يكتب النص أعلى مستوى السطر، مفيد للأُسس الرياضية زي 2².⑨ مثال مركّب — دمج الوسوم داخل فقرة واحدة
<p> <strong>تنبيه هام:</strong> السعر بعد الخصم <mark>150 جنيه</mark> <small>(شامل الضريبة)</small> </p>
تنبيه هام: السعر بعد الخصم 150 جنيه (شامل الضريبة)
الروابط والصور هما اللي بيخلوا صفحتك تتواصل مع صفحات تانية، وتعرض محتوى بصري.
<a href="https://drsalma-eg.com">زوري موقعنا</a> <a href="about.html">صفحة عن العيادة</a> <a href="https://www.google.com/maps" target="_blank">موقعنا على الخريطة</a> <a href="https://www.facebook.com" target="_blank">تابعينا على فيسبوك</a> <a href="mailto:clinic@drsalma-eg.com">راسلينا</a> <a href="tel:0502234567">اتصلي بالعيادة</a> <a href="files/vaccination-schedule.pdf" download>حمّلي جدول التطعيمات</a>
<a> وسم الرابط، وخاصية href هي الوجهة اللي هيروح لها الزائر.https://www.google.com) أو داخلي (اسم ملف بجانب صفحتك مثل about.html).target="_blank" بتفتح الرابط في تبويب جديد بدل ما تسكّر صفحتك الحالية — زي رابط الخريطة وفيسبوك في المثال، مناسبة للروابط الخارجية اللي مش عايزة الزائرة تسيب موقعك بسببها.mailto: بتفتح تطبيق البريد مباشرة برسالة جاهزة للإرسال على الإيميل المحدد.tel: بتفتح تطبيق الاتصال مباشرة بالرقم المكتوب بعدها — مفيدة جدًا لما الزائرة تفتح الموقع من موبايلها وتحب تتصل بالعيادة بضغطة واحدة، بدون ما تنسخ الرقم يدويًا.download بتخلي الرابط، بدل ما يفتح الملف في تبويب جديد (زي PDF مثلًا)، ينزّله مباشرة على جهاز الزائرة — مثالية لملف جدول التطعيمات أو تعليمات ما قبل الكشف.<img src="https://picsum.photos/id/1027/400/300" alt="غرفة استقبال عيادة الدكتورة سلمى حسن" width="300" height="225">
<img> وسم بدون إغلاق، وليه أربع خصائص أساسية لازم تعرفيها:src (Source): رابط أو مسار الصورة الحقيقية اللي هتتحمّل — ممكن يكون رابط خارجي (زي المثال) أو اسم ملف جوه مجلد مشروعك مثل images/clinic-reception.jpg.alt (Alternative Text): نص بديل يوصف الصورة — بيظهر مكانها لو الصورة ماتحمّلتش لأي سبب (نت بطيء، رابط خطأ)، وبيساعد قارئات الشاشة للمكفوفين ومحركات البحث تفهم محتواها. ضروري جدًا في كل صورة تقريبًا.width وheight: بيحددوا أبعاد الصورة بالبكسل. تحديدهم مسبقًا (حتى بنفس نسبة الصورة الأصلية) بيمنع "قفزة" في تصميم الصفحة أثناء تحميل الصورة، لأن المتصفح بيحجز المساحة لها من الأول.<a href="https://drsalma-eg.com/about" target="_blank"> <img src="https://picsum.photos/id/1027/400/300" alt="اضغطي للتعرف على الدكتورة سلمى حسن أكتر" width="220" height="165"> </a>
<img> جوه وسم <a>، الصورة كلها بتتحول لرابط قابل للضغط — دوسي عليها هتوديكي لصفحة "عن الدكتورة" بدل ما تحتاجي زر أو نص منفصل.alt هنا يوصف وجهة الرابط مش بس الصورة، عشان تبقى مفيدة لقارئ الشاشة (زي "اضغطي للتعرف على الدكتورة..." بدل "صورة دكتورة").أي مجموعة عناصر مترابطة (مكونات، خطوات، خيارات) الأنسب تتعرض في شكل قائمة.
<ul> <li>شاي</li> <li>قهوة</li> <li>عصير</li> </ul>
<ol> <li>افتحي الملف</li> <li>اكتبي الكود</li> <li>احفظي</li> </ol>
<ul> قائمة غير مرتبة (نقاط)، تستخدم لعناصر مالهاش ترتيب معين (زي المكونات).<ol> قائمة مرتبة (أرقام)، تستخدم لعناصر بترتيب مهم (زي خطوات تنفيذ).<li> كل عنصر داخل القائمة، سواء ul أو ol.<dl> قائمة تعريفية (مصطلح ووصفه) باستخدام <dt> للمصطلح و<dd> للوصف.الجداول أفضل طريقة لعرض بيانات منظمة في صفوف وأعمدة — زي عرض منتجات متجر ميجا تك للإلكترونيات بأسعارها وضماناتها. هنبني مع بعض جدول منتجات هيتكرر استخدامه في باقي الدروس.
<table> الوسم الأب للجدول كله.<caption> عنوان وصفي للجدول كله، بيتحط أول حاجة جوه <table> ويظهر فوق الجدول.<tr> صف (Table Row)، و<td> خلية بيانات عادية (Table Data).<th> خلية عنوان (Table Header) — بتظهر عريضة وفي النص تلقائيًا.<thead> يحدد رأس الجدول (صف العناوين)، و<tbody> يحدد جسم الجدول (البيانات)، و<tfoot> يحدد تذييل الجدول (زي صف الإجمالي) — ده بيسهّل التنسيق بـ CSS لاحقًا ويوضّح بنية الجدول دلاليًا.<table border="1"> <caption>قائمة أسعار متجر ميجا تك</caption> <thead> <tr> <th>المنتج</th> <th>السعر</th> <th>الضمان</th> </tr> </thead> <tbody> <tr> <td>لابتوب برو X1</td> <td>18500 جنيه</td> <td>سنتان</td> </tr> <tr> <td>موبايل ذكي Z20</td> <td>12000 جنيه</td> <td>سنة واحدة</td> </tr> <tr> <td>سماعة لاسلكية AirSound</td> <td>1200 جنيه</td> <td>6 شهور</td> </tr> </tbody> <tfoot> <tr> <td>الإجمالي</td> <td>31700 جنيه</td> <td>—</td> </tr> </tfoot> </table>
| المنتج | السعر | الضمان |
|---|---|---|
| لابتوب برو X1 | 18500 جنيه | سنتان |
| موبايل ذكي Z20 | 12000 جنيه | سنة واحدة |
| سماعة لاسلكية AirSound | 1200 جنيه | 6 شهور |
| الإجمالي | 31700 جنيه | — |
border="1" بسيطة وبتساعدك تشوفي شكل الجدول بوضوح وانتِ لسه بتتعلمي، لكنها طريقة قديمة — في مشاريعك الحقيقية هتنسّقي حدود الجدول بـ CSS بدل ما تكتبيها كخاصية HTML.colspan معناها "col" = عمود، يعني الخلية بتاخد عرض أكتر وتمتد على أعمدة جنبها في نفس الصف (امتداد أفقي ➡️). rowspan معناها "row" = صف، يعني الخلية بتاخد طول أكتر وتمتد على صفوف تحتها في نفس العمود (امتداد رأسي ⬇️).rowspan="2" على خلية الفئة في الصف الأول، بتلغي التكرار وتخلي خلية واحدة تغطي الصفين، وبالتالي بتشيلي خلية الفئة تمامًا من الصف التاني.<table border="1"> <tr> <td>إلكترونيات</td> <td>لابتوب برو X1</td> </tr> <tr> <td>إلكترونيات</td> <!-- تكرار --> <td>موبايل ذكي Z20</td> </tr> </table>
| إلكترونيات | لابتوب برو X1 |
| إلكترونيات | موبايل ذكي Z20 |
<table border="1"> <tr> <td rowspan="2">إلكترونيات</td> <td>لابتوب برو X1</td> </tr> <tr> <!-- من غير خلية "إلكترونيات" هنا، لأن اللي فوق بقت شغلاها --> <td>موبايل ذكي Z20</td> </tr> </table>
| إلكترونيات | لابتوب برو X1 |
| موبايل ذكي Z20 |
rowspan في خلية، لازم تحذفي الخلية المقابلة في الصف اللي بعده (اللي كانت هتتكرر)، وإلا الجدول هيتكسر وهيظهر عمود زيادة مش في مكانه.colspan="2"، خلية واحدة بعنوان "تفاصيل المنتج" بتمتد فوق عمودي الاسم والسعر مع بعض، فيبقى شكل الجدول منظم برأس رئيسي ورأس فرعي.<table border="1"> <tr> <th>تفاصيل المنتج</th> <th>(فاضية)</th> <!-- خلية زيادة عشان عدد الأعمدة يتساوى --> </tr> <tr> <th>الاسم</th> <th>السعر</th> </tr> </table>
| تفاصيل المنتج | (فاضية) |
|---|---|
| الاسم | السعر |
<table border="1"> <tr> <th colspan="2">تفاصيل المنتج</th> </tr> <tr> <th>الاسم</th> <th>السعر</th> </tr> </table>
| تفاصيل المنتج | |
|---|---|
| الاسم | السعر |
colspan="2" في خلية، بتشيلي الخلية الزيادة في نفس الصف، مش في الصف اللي بعده — لأن الدمج ده أفقي جوه نفس الصف.<fieldset> وسم بيجمع مجموعة عناصر مرتبطة ببعض جوه إطار واحد (مش خاص بالجداول بس، بل بيتحط غالبًا في الفورمات لتنظيم حقول متشابهة).<legend> عنوان صغير بيظهر فوق حافة الإطار بيوصف محتوى الـ fieldset.<fieldset> <legend>بيانات التواصل</legend> <label>الاسم</label> <input type="text" name="fullname"> <label>رقم الموبايل</label> <input type="tel" name="phone"> </fieldset>
</tr> أو </td> بيكسر شكل الجدول بالكامل.<td> بدل <th> لصف العناوين، فيفقد الجدول تمييز رأس الجدول بصريًا ودلاليًا.<table> أو <tr> من غير المرور بـ <td> أو <th>.tr وtd فقط.thead ليشمل العمود الجديد.النماذج هي الطريقة اللي بيها زبون ميجا تك يبعت بياناته — أول جزء هنركّز فيه على عناصر إنشاء حساب جديد في المتجر.
<form> الصندوق اللي بيحتوي كل حقول الإدخال ويغلّفهم مع بعض.<label> نص توضيحي بيقول للزبون إيه المطلوب في الحقل اللي جنبه.<input type="text"> حقل نص عادي، type="email" يتأكد من وجود @، وtype="password" بيخفي الحروف بنقاط.placeholder نص باهت داخل الحقل قبل الكتابة، وrequired يمنع الإرسال لو الحقل فاضي.name اسم داخلي للحقل، ضروري عشان البيانات توصل صح عند الإرسال.<button type="submit"> زر الإرسال.<form> <label>اسم المستخدم</label> <input type="text" name="username" placeholder="اكتبي اسمك" required> <label>البريد الإلكتروني</label> <input type="email" name="email" required> <label>كلمة السر</label> <input type="password" name="pass"> <button type="submit">إنشاء الحساب</button> </form>
name في الـ input بيمنع وصول البيانات صح عند الإرسال.placeholder بدل label — الزبون ممكن ينسى المطلوب لما يبدأ الكتابة والنص يختفي.type="text" لحقل الإيميل بدل type="email"، فيفقد الفورم التحقق التلقائي من صيغة البريد.فورم كامل لمتجر إلكتروني بيحتاج أنواع إدخال أكتر بكتير من text وemail وpassword — دي أهم الأنواع الباقية اللي هتقابليها وهي مطبّقة على فورم "إكمال بيانات الطلب" في ميجا تك.
<label>رقم الموبايل</label> <input type="tel" name="phone" placeholder="01xxxxxxxxx"> <label>الكمية المطلوبة</label> <input type="number" name="qty" min="1" max="10" value="1"> <label>تاريخ التسليم المفضّل</label> <input type="date" name="delivery_date"> <label>الوقت المفضّل للتسليم</label> <input type="time" name="delivery_time"> <label>الميزانية القصوى (جنيه)</label> <input type="range" name="budget" min="0" max="20000" step="500"> <label>اللون المفضّل للمنتج</label> <input type="color" name="favcolor" value="#C1572F"> <label>موقعك الشخصي (اختياري)</label> <input type="url" name="website" placeholder="https://..."> <label>ابحثي عن منتج</label> <input type="search" name="q" placeholder="لابتوب، موبايل..."> <label>ارفعي صورة فاتورة التحويل</label> <input type="file" name="receipt" accept="image/*"> <input type="hidden" name="order_id" value="MT-2026-0451">
type="tel": حقل رقم تليفون — على الموبايل بيظهر لوحة مفاتيح أرقام مخصصة، أسهل من الكتابة العادية.type="number": يقبل أرقام بس، مع إمكانية تحديد min وmax للحد الأدنى والأقصى المسموح.type="date" وtype="time": بيفتحوا منتقي تاريخ/وقت جاهز من المتصفح، بدل ما الزبون يكتب التاريخ يدويًا باحتمال أخطاء.type="range": شريط تمرير لاختيار قيمة رقمية بصريًا جوه مدى معيّن (زي تحديد ميزانية تقريبية)، بيتحدد بـ min وmax وstep.type="color": بيفتح منتقي ألوان جاهز من نظام التشغيل ويرجّع قيمة اللون بصيغة hex.type="url": زي email بالظبط لكن بيتحقق من صيغة رابط ويب صحيحة (يبدأ بـ http/https).type="search": حقل بحث — شكله زي text لكنه دلاليًا بيوصف إن الغرض منه البحث، وبعض المتصفحات بتضيف له زر مسح سريع (×).type="file": بيسمح للزبون يرفع ملف من جهازه، وخاصية accept="image/*" بتحدد إنه يقبل صور بس.type="hidden": حقل مخفي تمامًا عن الزبون، مستخدم لإرسال بيانات إضافية مع الفورم (زي رقم الطلب) من غير ما تظهر في الواجهة.type="number" لعمر الزبون بحد أدنى 18 وحد أقصى 99.date لتاريخ الشراء، وfile لرفع صورة الفاتورة، وhidden لرقم الطلب.دلوقتي هنكمّل باقي عناصر الفورم اللي هتحتاجيها لإتمام طلب شراء حقيقي في متجر ميجا تك.
<textarea> لإدخال نص طويل (زي ملاحظات على الطلب)، وخاصية rows تحدد عدد الأسطر الظاهرة.<select> مع <option> بتعمل قائمة منسدلة يختار منها الزبون قيمة واحدة (زي مدينة التوصيل).type="radio" اختيار واحد فقط من مجموعة، بشرط كل الأزرار تشترك في نفس قيمة name (زي طريقة الدفع).type="checkbox" اختيار متعدد أو تأكيد موافقة واحدة (زي الموافقة على شروط الشراء).<textarea rows="4" placeholder="أي ملاحظات على طلبك؟"></textarea> <select> <option>القاهرة</option> <option>الإسكندرية</option> <option>المنصورة</option> </select> <input type="radio" name="payment"> الدفع عند الاستلام <input type="radio" name="payment"> بطاقة ائتمان <input type="checkbox"> أوافق على شروط الشراء والاسترجاع
name بين أزرار radio يخلّي الزبون يقدر يختار أكتر من طريقة دفع في نفس الوقت غلط.<textarea></textarea> بيخلي باقي محتوى الصفحة يتحول لنص جوه الصندوق.مش كل محتوى ميجا تك نص وصور — أحيانًا محتاجين نعرض فيديو استعراض منتج، إعلان صوتي، أو حتى خريطة موقع الفرع.
<audio> لتشغيل ملف صوتي، وخاصية controls بتظهر أزرار التشغيل والإيقاف.<video> لتشغيل فيديو، بنفس فكرة audio بالظبط، مع إمكانية تحديد width وheight.src على وسم audio/video مباشرة، الأفضل إننا نستخدم عنصر <source> جواه — كده نقدر نضيف أكتر من امتداد لنفس الملف، والمتصفح بيختار أول امتداد يقدر يشغّله وبيتجاهل الباقي.source (زي mp3 وwav وogg للصوت، وmp4 وwebm وogg للفيديو) بنضمن إن الملف هيشتغل عند أكبر عدد ممكن من الزوار.<iframe> بتعرض صفحة ويب كاملة تانية جوه صفحتك — بتستخدم غالبًا لعرض خرائط جوجل أو فيديوهات يوتيوب.<audio controls> <source src="megatech-ad.mp3" type="audio/mpeg"> <source src="megatech-ad.ogg" type="audio/ogg"> <source src="megatech-ad.wav" type="audio/wav"> متصفحك لا يدعم تشغيل الصوت. </audio>
source بالترتيب من فوق لتحت، ويشغّل أول واحد يقدر يفهم امتداده — لو mp3 مدعوم يشتغل ويتجاهل الباقي، ولو مش مدعوم يجرّب ogg، وهكذا.type بتقول للمتصفح نوع الملف قبل ما يحاول يحمّله، فيوفر وقت لو الصيغة مش مدعومة عنده أصلًا.<video controls width="400"> <source src="unboxing-x1.mp4" type="video/mp4"> <source src="unboxing-x1.webm" type="video/webm"> <source src="unboxing-x1.ogv" type="video/ogg"> متصفحك لا يدعم تشغيل الفيديو. </video>
width (وممكن height كمان) بتحدد أبعاد مشغّل الفيديو على الصفحة.<iframe src="https://www.google.com/maps?q=Cairo,Egypt&output=embed" width="400" height="300"> </iframe> <iframe src="https://www.youtube.com/embed/dQw4w9WgXcQ" width="400" height="225" allowfullscreen> </iframe>
src لازم يكون رابط embed مخصص للعرض جوه iframe، مش رابط الصفحة العادي — جوجل ماب بيحتاج output=embed، ويوتيوب بيحتاج مسار /embed/ بدل /watch?v=.allowfullscreen بتسمح للفيديو يتشغّل بملء الشاشة، مفيدة لإطارات يوتيوب وفيميو.controls بيخلي الزبون مايقدرش يتحكم في تشغيل الصوت أو الفيديو خالص.width وheight لعنصر iframe فيظهر بحجم صغير جدًا افتراضيًا.بدل ما نستخدم div لكل حاجة، فيه وسوم معناها واضح بتوصف دور كل جزء من هيكل صفحة ميجا تك.
<header> رأس الصفحة، غالبًا فيه الشعار وقائمة التنقل.<nav> قائمة روابط التنقل الرئيسية في الموقع.<main> المحتوى الأساسي للصفحة — يُستخدم مرة واحدة فقط.<section> قسم بموضوع واحد مستقل، و<article> محتوى مستقل تمامًا (مقال أو منشور).<aside> محتوى جانبي مكمّل (إعلانات، روابط ذات صلة)، و<footer> تذييل الصفحة.<header> <h1>ميجا تك</h1> <nav> <a href="#">الرئيسية</a> <a href="#">تواصل</a> </nav> </header> <main> <section> <h2>عن المتجر</h2> <p>ميجا تك متخصص في بيع أحدث الأجهزة الإلكترونية بضمان رسمي.</p> </section> <article> <h3>مقال: كيف تختارين اللابتوب المناسب؟</h3> <p>قبل الشراء راجعي المعالج والذاكرة وحجم الشاشة.</p> </article> <aside>عرض اليوم: خصم 10% على السماعات اللاسلكية</aside> </main> <footer>جميع الحقوق محفوظة لمتجر ميجا تك</footer>
ميجا تك متخصص في بيع أحدث الأجهزة الإلكترونية بضمان رسمي.
قبل الشراء راجعي المعالج والذاكرة وحجم الشاشة.
main واحد في نفس الصفحة، وهو غلط لأنه المفروض يكون فريد.section لأي تجميع عشوائي حتى لو مالوش عنوان مستقل واضح.article (محتوى مستقل بذاته زي مقال) وsection (جزء من محتوى أكبر).إزاي نجمّع عناصر بطاقة منتج ميجا تك مع بعض، وندي الحاوية اسم نقدر نرجعله لاحقًا بـ CSS؟
<div> حاوية عامة (Block) بتجمّع مجموعة عناصر مع بعض، وبتاخد سطر كامل.<span> حاوية عامة صغيرة (Inline) بتستخدم جوه سطر النص عشان تلفي حول كلمة أو جزء بسيط.class اسم تصنيف تقدري تكرريه على أكتر من عنصر — الأفضل لأي حاجة ممكن تتكرر (زي كل بطاقات المنتجات).id اسم فريد لعنصر واحد بس في كل الصفحة — يستخدم للعناصر المميزة أو التي تحتاج استهداف من JavaScript.<div class="card"> <h3>سماعة لاسلكية AirSound</h3> <p>السعر بعد الخصم: <span id="price">999 جنيه</span></p> </div>
السعر بعد الخصم: 999 جنيه
id في أكتر من بطاقة منتج على نفس الصفحة، وهو خطأ لازم نتجنبه.class="card"، وكل سعر جوه span بـ id مختلف.دلوقتي بعد ما اتعلمنا h1 إلى h6، وp، وdiv وspan، وa وimg — لازم نفهم طبيعة العناصر دي في الصفحة قبل ما نبدأ ننسّقها لاحقًا: هل العنصر بياخد سطر كامل لوحده، ولا بيقف جنب العناصر التانية؟
h1 إلى h6, p, div, ul, li, table, form, section.span, a, strong, em, img, b, i, mark.| وجه المقارنة | Block | Inline |
|---|---|---|
| بداية سطر جديد | يبدأ دائمًا في سطر جديد | يبقى داخل نفس السطر الحالي |
| المساحة التي يأخذها | عرض السطر بالكامل تلقائيًا | بمقدار محتواه فقط |
| تغيير العرض/الارتفاع | يمكن التحكم بهما بحرية (width/height) | لا تتأثر width/height به افتراضيًا |
| أمثلة | div, p, h1-h6, ul, table | span, a, strong, img |
div عشان نلف قسم كامل زي كارت خدمة، وبنستخدم span عشان نلوّن أو نميّز كلمة واحدة جوه فقرة.<div>كشف جديد</div> <div>كشف متابعة</div>
<p>سعر الكشف <span>300 جنيه</span> شامل المتابعة</p>
<p>لحجز موعد، تواصلي معنا عبر <a href="tel:0502234567">الاتصال المباشر</a> أو من خلال فورم الحجز أسفل الصفحة.</p>
p (Block) أخذ سطرًا كاملاً لوحده وبدأ فقرة جديدة، بينما وسم a (Inline) بداخله وقف جوه نفس سطر الفقرة من غير ما يكسرها لسطرين منفصلين.display، لكن مهم جدًا تعرفي شكله الافتراضي الأول عشان تفهمي ليه بعض العناصر بتظهر متلاصقة في سطر واحد وبعضها بتاخد سطر مستقل.دلوقتي هنجمّع كل اللي اتعلمناه في مشروع حقيقي: صفحة "من نحن" شخصية بتعرّف بمؤسسة متجر ميجا تك.
<header> <h1>سارة عادل</h1> <p>مؤسسة متجر ميجا تك للإلكترونيات</p> </header> <main> <section> <h2>عني</h2> <p>شغوفة بعالم <strong>التكنولوجيا</strong> من أول يوم، وقررت أفتح ميجا تك عشان أوصّل أحدث الأجهزة بضمان حقيقي وخدمة تقدري تثقي فيها.</p> </section> <section> <h2>خبراتي</h2> <ul> <li>اختيار الأجهزة المناسبة لكل ميزانية</li> <li>خدمة عملاء وضمان ما بعد البيع</li> <li>صيانة فنية للابتوبات والموبايلات</li> </ul> </section> <section> <h2>تواصلي معي</h2> <a href="mailto:sara@megatech-eg.com">راسليني</a> </section> </main> <footer>© 2026 ميجا تك — كل الحقوق محفوظة</footer>
مؤسسة متجر ميجا تك للإلكترونيات
شغوفة بعالم التكنولوجيا من أول يوم، وقررت أفتح ميجا تك عشان أوصّل أحدث الأجهزة بضمان حقيقي وخدمة تقدري تثقي فيها.
mailto: قبل الإيميل في رابط التواصل، فالرابط يفتح كصفحة عادية بدل فتح برنامج البريد.مشروع تاني يجمع البطاقات والفورم والصور مع بعض — الصفحة الرئيسية لمتجر ميجا تك للإلكترونيات.
#products و#contact للتنقل السريع داخل نفس الصفحة.<header> <h1>ميجا تك</h1> <nav><a href="#products">المنتجات</a> <a href="#contact">تواصل</a></nav> </header> <main> <section id="products"> <h2>منتجاتنا</h2> <div class="product"> <img src="https://placehold.co/150x150/2d6a4f/ffffff?text=AirSound" alt="سماعة لاسلكية AirSound" width="150"> <h3>سماعة لاسلكية AirSound</h3> <p>السعر: 1200 جنيه</p> </div> </section> <section id="contact"> <h2>اطلبي الآن</h2> <form> <input type="text" placeholder="اسمك" required> <input type="email" placeholder="بريدك الإلكتروني" required> <textarea placeholder="ملاحظات على الطلب"></textarea> <button type="submit">إرسال الطلب</button> </form> </section> </main> <footer>تواصل: <a href="mailto:shop@megatech-eg.com">shop@megatech-eg.com</a></footer>
السعر: 1200 جنيه
وصلنا لختام رحلة HTML! خلينا نراجع بسرعة كل اللي اتعلمناه من خلال بناء موقع ميجا تك، قبل ما ننتقل لـ CSS.
فاضل شوية وسوم تنسيق نص مهمة اتعرفنا على جزء منها في الدرس 7، دلوقتي هنكمل الباقي: الحذف، الإضافة، الأكواد، والاقتباسات.
① del — نص محذوف
السعر: <del>200 جنيه</del> 150 جنيه
<del> يعرض النص بخط في المنتصف ليدل على إنه "محذوف" أو "ملغي" — بيتستخدم كتير في عروض الأسعار قبل الخصم.② ins — نص مُضاف
السعر الجديد <ins>بعد التحديث</ins>: 150 جنيه
<ins> عكس del — بيعرض النص بخط تحته للدلالة على إنه "مُضاف حديثًا" للمحتوى، زي تتبع التعديلات في مستند.③ s — نص غير صحيح أو غير ذي صلة
<s>السعر 300 جنيه</s> بقى 250 بس النهاردة
<s> يشبه del بصريًا (خط في المنتصف) لكنه دلاليًا مختلف: بيستخدم لمعلومة "بقت غير صحيحة أو غير ذات صلة"، مش بالضرورة "اتحذفت" رسميًا.④ u — خط تحت النص
الكلمة دي فيها <u>خطأ إملائي</u>
<u> يضع خط تحت النص بدون معنى دلالي محدد — احذري من استخدامه بشكل عام لأنه بيتلخبط بصريًا مع الروابط اللي بتتحط تحتها خطوط برضه.⑤ code — عرض كود داخل نص
استخدمي وسم <code><p></code> لكتابة فقرة
<p> لكتابة فقرة<code> بيعرض النص بخط Monospace مميز، ومُخصص لإظهار أسماء وسوم أو أكواد برمجية جوه فقرة عادية — زي ما بنستخدمه في المذكرة دي نفسها.⑥ blockquote و q — الاقتباسات
<blockquote> التعلّم في الصغر كالنقش على الحجر. </blockquote> <p>قالت المعلمة: <q>ذاكري بانتظام</q></p>
التعلّم في الصغر كالنقش على الحجر.
قالت المعلمة: ذاكري بانتظام
<blockquote> للاقتباس الطويل المستقل (فقرة كاملة) وعادة بيظهر بمسافة بادئة، أما <q> فللاقتباس القصير جوه سطر — والمتصفح بيضيف علامات تنصيص حواليه تلقائيًا.تلات كلمات بنسمعها كتير ومتشابهة، لكن كل واحدة فيهم ليها معنى دقيق مختلف — خلينا نفكّهم مرة واحدة وللأبد.
<p class="intro">مرحبًا</p>
مرحبًا
<p> أو </p> — الوسم الفاتح والوسم الغالق كل واحد فيهم "Tag" لوحده.<p class="intro">مرحبًا</p> كله سوا اسمه Element.name="value"، زي class="intro" في المثال، بتديك تحكم أو معلومة زيادة عن العنصر.الخصائص العامة دي اسمها كده لأنها تقدري تحطيها على أي وسم HTML تقريبًا، مش وسم معين بس — خلينا نتعرف على أشهرها.
<p id="note1" class="highlight" title="ملاحظة مهمة" lang="ar" dir="rtl"> انتبهي لهذه الفقرة </p>
انتبهي لهذه الفقرة (مرّري الماوس فوقها)
id: معرّف فريد لعنصر واحد بس في الصفحة كلها، بيُستخدم للربط مع CSS أو JavaScript.class: اسم مجموعة يمكن تكراره على أكتر من عنصر، بيُستخدم للتنسيق الجماعي بـ CSS.style: تنسيق CSS مباشر جوه الوسم نفسه، زي style="color:red".title: نص توضيحي (Tooltip) بيظهر لما تمرري الماوس فوق العنصر.lang: لغة محتوى العنصر، زي lang="ar" أو lang="en".dir: اتجاه الكتابة، rtl لليمين لليسار أو ltr لليسار لليمين.hidden: تخفي العنصر تمامًا من الصفحة (بدون ما تحذفيه من الكود).tabindex: يحدد ترتيب التنقل بين العناصر بزرار Tab من الكيبورد.اتعرفنا عليهم بسرعة قبل كده، دلوقتي هنشوف الفرق عمليًا في CSS وJavaScript، ومتى بالظبط نستخدم كل واحد فيهم.
① استخدام id مع CSS
<style> #mainTitle { color: crimson; } </style> <h1 id="mainTitle">العنوان الرئيسي</h1>
# قبل الاسم، وبما إنه فريد، فالتنسيق ده هيتطبق على عنصر واحد بس في الصفحة كلها.② استخدام class مع CSS
<style> .card { background: #f3e6cc; padding: 8px; } </style> <div class="card">منتج 1</div> <div class="card">منتج 2</div>
. قبل الاسم، والتنسيق ده هيتطبق على كل العناصر اللي عندها نفس الـ class دفعة واحدة.③ الفرق بينهم في JavaScript
// بحث بالـ id — عنصر واحد document.getElementById("mainTitle") // بحث بالـ class — مجموعة عناصر document.getElementsByClassName("card") document.querySelectorAll(".card")
getElementById بيرجع عنصر واحد، أما getElementsByClassName فبيرجع قائمة عناصر.④ أكتر من class للعنصر الواحد
<button class="btn btn-primary large">اشتري الآن</button>
| المعيار | id | class |
|---|---|---|
| التكرار | مرة واحدة فقط في الصفحة | يمكن تكراره على عناصر كثيرة |
| رمز CSS | # | . |
| دالة JS | getElementById | getElementsByClassName |
| الاستخدام الأمثل | عنصر واحد مميز (زي الهيدر الرئيسي) | تنسيق جماعي (زي كروت المنتجات) |
وسمين "بلا معنى دلالي" لكنهم من أكتر الوسوم استخدامًا في أي صفحة حقيقية — دورهم إنهم يجمّعوا عناصر تانية عشان ننظّمها أو ننسّقها.
① div — تجميع على مستوى الكتلة
<div class="card"> <h3>منتج مميز</h3> <p>وصف قصير للمنتج</p> </div>
وصف قصير للمنتج
<div> عنصر Block (بياخد سطر كامل لوحده) بيُستخدم لتجميع مجموعة عناصر تانية جوه كتلة واحدة عشان تنظيمها أو تنسيقها بـ CSS، زي كرت منتج فيه عنوان ووصف.② span — تجميع على مستوى النص
<p>السعر: <span class="price">150 جنيه</span></p>
السعر: 150 جنيه
<span> عنصر Inline (بياخد مساحة نصه بس، ومبيبدأش سطر جديد) بيُستخدم لتمييز جزء صغير جوه سطر أو فقرة عشان تلوينه أو تنسيقه لوحده.③ الفرق بينهم وبين العناصر الدلالية
إزاي تكتبي رمز زي < جوه صفحة HTML من غير ما المتصفح يفهمه كأنه بداية وسم؟ الحل: Character Entities — رموز محجوزة ليها كود خاص.
<p>لكتابة وسم بنستخدم <p> مش <p> مباشرة</p>
& وتنتهي بـ ; بتُستخدم لكتابة رموز محجوزة في HTML (زي < و>) أو رموز مش موجودة على الكيبورد العادي.< = < (أقل من / بداية وسم)> = > (أكبر من / نهاية وسم)& = & (علامة الـ and نفسها) = مسافة غير قابلة للكسر (Non-breaking space) — مسافة إضافية لا يدمجها المتصفح تلقائيًا مع باقي المسافات." = " و© = © من أمثلة الرموز الشائعة الأخرى.& عشان المتصفح ميفهمهاش كبداية Entity تانية.; في نهاية الـ Entity فيفشل عرضها صح.التعليقات هي ملاحظات بتكتبيها جوه الكود نفسه للمطورين (وممكن لنفسك بكرة)، والمتصفح بيتجاهلها تمامًا ومبيعرضهاش للزائر.
<!-- ده تعليق سطر واحد --> <h1>عنوان الصفحة</h1> <!-- ده تعليق متعدد الأسطر --> <p>فقرة تانية</p>
فقرة تانية
<!-- وتنتهي بـ -->، وأي حاجة بينهم بيتجاهلها المتصفح تمامًا.لما بتربطي صورة أو صفحة تانية، لازم تحددي "المسار" (Path) بتاعها — وفيه نوعين رئيسيين لازم تفرقي بينهم.
① المسار المطلق (Absolute Path)
<img src="https://example.com/images/cat.jpg">
https:// أو http:// ويحدد موقع الملف بدقة على الإنترنت، بغض النظر عن مكان الصفحة الحالية.② المسار النسبي (Relative Path)
<!-- نفس المجلد --> <img src="cat.jpg"> <!-- مجلد فرعي --> <img src="images/cat.jpg"> <!-- مجلد أعلى --> <img src="../cat.jpg">
../ معناها اطلعي مجلد لفوق، واسم مجلد بدون شرطة معناها ادخلي جوه مجلد فرعي.اتعرفنا على العناصر الدلالية في الدرس 14، دلوقتي هنفهم "ليه" هي مهمة أوي، ونراجع كل عنصر منهم بالتفصيل ودوره الحقيقي في الصفحة.
nav اللي بيقول للمتصفح "ده قسم تنقّل".<header>هيدر الموقع</header> <nav>روابط التنقل</nav> <main> <section> <article>مقال مستقل</article> </section> <aside>محتوى جانبي</aside> </main> <footer>فوتر الموقع</footer>
header: رأس الصفحة أو رأس قسم — عادة فيه الشعار والعنوان.nav: مجموعة روابط التنقل الرئيسية في الموقع.main: المحتوى الأساسي والفريد للصفحة — يظهر مرة واحدة بس في كل صفحة.section: قسم منطقي مستقل من المحتوى، غالبًا بعنوان خاص به.article: محتوى مستقل بذاته يصلح يُنشر لوحده (مقال، منشور، تعليق).aside: محتوى جانبي غير أساسي، زي روابط ذات صلة أو إعلان.footer: تذييل الصفحة أو القسم، فيه حقوق النشر وروابط إضافية غالبًا.تخطيط الصفحة (Layout) هو إزاي بتوزّعي عناصر موقعك بشكل منطقي ومنظم، باستخدام العناصر الدلالية اللي اتعلمناها.
<body> <header> <h1>اسم الموقع</h1> <nav>الرئيسية | من نحن | تواصل</nav> </header> <main>المحتوى الأساسي</main> <footer>© 2026 جميع الحقوق محفوظة</footer> </body>
لمسة أعمق على وسم audio اللي شفناه بسرعة في الدرس 13 — دلوقتي هنشرح كل خاصية فيه لوحدها وامتدادات الصوت المدعومة.
<audio controls loop> <source src="song.mp3" type="audio/mpeg"> <source src="song.ogg" type="audio/ogg"> متصفحك لا يدعم الصوت </audio>
controls: يظهر أدوات التحكم (تشغيل، إيقاف، مستوى الصوت) للمستخدم.autoplay: يشغّل الصوت تلقائيًا فور تحميل الصفحة (المتصفحات الحديثة بتمنعه غالبًا إلا لو muted).loop: يعيد تشغيل الصوت تلقائيًا بعد ما يخلص.muted: يبدأ الصوت مكتومًا افتراضيًا.<source>: بتحددي أكتر من صيغة صوت (mp3, ogg, wav) عشان لو المتصفح مايدعمش صيغة، يجرب اللي بعدها.زي الصوت بالظبط، بس للفيديو — مع خصائص إضافية زي width وheight وposter عشان تتحكمي في شكل مشغّل الفيديو.
<video controls width="320" poster="cover.jpg"> <source src="intro.mp4" type="video/mp4"> <source src="intro.webm" type="video/webm"> متصفحك لا يدعم الفيديو </video>
controls: يظهر أدوات التحكم بالفيديو (تشغيل، صوت، ملء الشاشة).width وheight: يحددان أبعاد مشغّل الفيديو بالبكسل.autoplay وloop وmuted: نفس معنى وظائفهم في audio.poster: صورة غلاف بتظهر قبل ما الفيديو يتشغّل، مفيدة جدًا لتجربة مستخدم أفضل.<source>: زي الصوت بالظبط، بتوفري أكتر من صيغة (mp4, webm) للتوافق بين المتصفحات.وسم iframe بيخليكِ "تضمّني" صفحة ويب كاملة تانية جوه صفحتك — زي فيديو يوتيوب أو خريطة جوجل ماذا.
<iframe src="https://www.youtube.com/embed/xyz" width="320" height="180" title="فيديو تعريفي"> </iframe>
<iframe> اختصار Inline Frame — بيعرض صفحة ويب كاملة "جوه" صفحتك الحالية، وكأنها نافذة صغيرة مفتوحة على موقع تاني.src: رابط الصفحة أو الفيديو المراد تضمينه.width وheight: أبعاد الإطار بالبكسل.title: وصف قصير مهم جدًا لقارئ الشاشة يوضّح محتوى الـ iframe.إمكانية الوصول (Accessibility) تعني إن موقعك يقدر يستخدمه أي حد، بما فيهم ذوي الاحتياجات الخاصة — وده مش اختياري، ده أساسي.
<img src="laptop.jpg" alt="لابتوب فضي مفتوح على مكتب خشبي"> <label for="email">البريد الإلكتروني</label> <input id="email" type="email">
alt على الصور: نص بديل يصف الصورة، ضروري جدًا لقارئ الشاشة، ولو الصورة مالهاش معنى وظيفي سيبيه فاضي alt="".label مع input: بيربط وصف واضح بكل حقل فورم، عن طريق تطابق for مع id — قارئ الشاشة بيقرأ الوصف ده لما المستخدم يوصل للحقل.SEO (Search Engine Optimization) يعني تحسين ظهور موقعك في نتائج البحث — وHTML الصحيح هو أول خطوة في الطريق ده.
<title>كود ويز مصر — تعلمي البرمجة أونلاين</title> <meta name="description" content="دورات HTML وCSS وJS مجانية للمبتدئين"> <h1>تعلّمي تطوير الويب من الصفر</h1>
<title>: أهم عنصر لـ SEO — بيظهر كعنوان قابل للنقر في نتيجة البحث، لازم يكون وصفي وقصير ومختلف لكل صفحة.meta description: الوصف اللي بيظهر تحت العنوان في نتائج البحث، بيأثر على قرار المستخدم بالضغط على نتيجتك.headings (h1-h6): ترتيبها المنطقي بيساعد جوجل يفهم هيكل المحتوى وأولوياته.Semantic HTML: الوسوم الدلالية (article, nav...) بتوضح لمحركات البحث نوع كل جزء من المحتوى.الأيقونة الصغيرة اللي بتشوفيها جنب عنوان التبويب في المتصفح — تفصيلة بسيطة لكنها بتديّ انطباع احترافي فورًا.
<head> <link rel="icon" type="image/png" href="favicon.png"> </head>
<link> جوه <head> مع rel="icon" وتحديد مسار الصورة في href..ico (الأقدم والأكثر توافقًا) أو .png (أوضح جودة وأسهل تصميمًا).آخر خطوة قبل ما نودّع HTML خالص — إزاي تتأكدي إن كودك "صحيح" فعلًا حسب معايير الويب الرسمية.
<!-- كود به أخطاء --> <p>فقرة بدون إغلاق <img src="cat.jpg"> <!-- بدون alt -->
ده تنفيذ كامل لمهمة الدرس 17 (مشروع ميجا تك) — صفحة واحدة حقيقية تجمع كل وسوم HTML اللي اتعلمناها: header + nav، section بفقرة وقائمة خبرات، صورة بـ alt، جدول مقارنة أسعار، فورم طلب شراء كامل، وfooter.
<!DOCTYPE html> <html lang="ar" dir="rtl"> <head> <meta charset="UTF-8"> <title>ميجا تك | الصفحة الرئيسية</title> </head> <body> <header> <h1>ميجا تك</h1> <nav> <a href="#about">عن المتجر</a> <a href="#products">المنتجات</a> <a href="#order">اطلبي الآن</a> </nav> </header> <main> <section id="about"> <h2>عن المتجر</h2> <p>ميجا تك متخصص في بيع أحدث الأجهزة الإلكترونية بضمان رسمي وخدمة عملاء تقدري تثقي فيها.</p> <h3>خبراتنا</h3> <ul> <li>اختيار الأجهزة المناسبة لكل ميزانية</li> <li>خدمة عملاء وضمان ما بعد البيع</li> <li>صيانة فنية للابتوبات والموبايلات</li> </ul> </section> <section id="products"> <h2>منتجاتنا</h2> <img src="https://placehold.co/160x160/C1572F/ffffff?text=MegaTech" alt="شعار متجر ميجا تك" width="160"> <table> <thead> <tr> <th>المنتج</th> <th>السعر</th> <th>الضمان</th> </tr> </thead> <tbody> <tr> <td>لابتوب برو X1</td> <td>18500 جنيه</td> <td>سنتان</td> </tr> <tr> <td>موبايل ذكي Z20</td> <td>12000 جنيه</td> <td>سنة واحدة</td> </tr> <tr> <td>سماعة لاسلكية AirSound</td> <td>1200 جنيه</td> <td>6 شهور</td> </tr> </tbody> </table> </section> <section id="order"> <h2>اطلبي الآن</h2> <form> <label>الاسم</label> <input type="text" name="fullname" placeholder="اسمك بالكامل" required> <label>البريد الإلكتروني</label> <input type="email" name="email" required> <label>مدينة التوصيل</label> <select name="city"> <option>القاهرة</option> <option>الإسكندرية</option> <option>المنصورة</option> </select> <label>طريقة الدفع</label> <input type="radio" name="payment" value="cod"> الدفع عند الاستلام <input type="radio" name="payment" value="card"> بطاقة ائتمان <label>ملاحظات على الطلب</label> <textarea rows="3" placeholder="أي تفاصيل إضافية؟"></textarea> <button type="submit">إرسال الطلب</button> </form> </section> </main> <footer> <p>© 2026 ميجا تك — كل الحقوق محفوظة</p> <a href="mailto:shop@megatech-eg.com">راسلينا: shop@megatech-eg.com</a> </footer> </body> </html>
ميجا تك متخصص في بيع أحدث الأجهزة الإلكترونية بضمان رسمي وخدمة عملاء تقدري تثقي فيها.
| المنتج | السعر | الضمان |
|---|---|---|
| لابتوب برو X1 | 18500 جنيه | سنتان |
| موبايل ذكي Z20 | 12000 جنيه | سنة واحدة |
| سماعة لاسلكية AirSound | 1200 جنيه | 6 شهور |
أفضل طريقة لترسيخ أي درس هي بناء شيء حقيقي به. المشاريع دي مدمجة بالفعل داخل بعض الدروس (13، 14، 15)، وده دليل بأفكار إضافية تقدري تنفّذيها بترتيب متصاعد في الصعوبة كل ما تتقدمي في المذكرة.
تطبيق كامل لصفحة عيادة الدكتورة سلمى حسن — استشارية طب أطفال — بتجمع بين الأقسام التعريفية، جدول الخدمات والمواعيد، وفورم حجز موعد متكامل.
<!DOCTYPE html> <html lang="ar" dir="rtl"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>عيادة د. سلمى حسن | طب الأطفال</title> </head> <body> <header> <h1>عيادة الدكتورة سلمى حسن</h1> <p>استشارية طب الأطفال وحديثي الولادة</p> <nav> <a href="#about">عن الدكتورة</a> <a href="#services">الخدمات</a> <a href="#hours">مواعيد العمل</a> <a href="#booking">احجزي موعد</a> </nav> </header> <main> <section id="about"> <h2>عن الدكتورة</h2> <img src="https://placehold.co/140x140/6F8068/ffffff?text=Dr.Salma" alt="صورة الدكتورة سلمى حسن" width="140"> <p><strong>د. سلمى حسن</strong> استشارية طب الأطفال وحديثي الولادة، خبرة أكتر من <mark>15 عامًا</mark> في متابعة نمو الأطفال وتطعيماتهم.</p> <h3>مجالات التخصص</h3> <ul> <li>متابعة نمو الأطفال من الولادة حتى 12 سنة</li> <li>جدول التطعيمات الإجباري والاختياري</li> <li>استشارات الرضاعة الطبيعية</li> </ul> <small>عضو نقابة الأطباء المصرية — رقم القيد 45210</small> </section> <section id="services"> <h2>الخدمات والأسعار</h2> <table border="1"> <caption>قائمة الكشف والخدمات</caption> <thead> <tr> <th>الخدمة</th> <th>السعر</th> <th>المدة التقريبية</th> </tr> </thead> <tbody> <tr> <td>كشف جديد</td> <td>300 جنيه</td> <td>30 دقيقة</td> </tr> <tr> <td>كشف متابعة (خلال 15 يوم)</td> <td>150 جنيه</td> <td>15 دقيقة</td> </tr> <tr> <td>تطعيم + متابعة نمو</td> <td>200 جنيه</td> <td>20 دقيقة</td> </tr> </tbody> </table> </section> <section id="hours"> <h2>مواعيد العمل</h2> <table border="1"> <thead> <tr><th>اليوم</th><th>الفترة الصباحية</th><th>الفترة المسائية</th></tr> </thead> <tbody> <tr><td>السبت — الخميس</td><td>10 ص — 1 م</td><td>5 م — 9 م</td></tr> <tr><td>الجمعة</td><td colspan="2">عطلة أسبوعية</td></tr> </tbody> </table> </section> <section id="booking"> <h2>احجزي موعدك</h2> <form> <fieldset> <legend>بيانات ولي الأمر والطفل</legend> <label>اسم الطفل</label><br> <input type="text" name="childname" placeholder="اسم الطفل بالكامل" required><br> <label>رقم هاتف ولي الأمر</label><br> <input type="tel" name="phone" placeholder="01xxxxxxxxx" required><br> <label>تاريخ الميلاد</label><br> <input type="date" name="birthdate"> </fieldset> <label>نوع الزيارة</label><br> <input type="radio" name="visit" value="new"> كشف جديد <input type="radio" name="visit" value="follow"> متابعة <input type="radio" name="visit" value="vaccine"> تطعيم<br> <label>التخصص المطلوب</label><br> <select name="dept"> <option>متابعة نمو عامة</option> <option>تطعيمات</option> <option>استشارة رضاعة</option> </select><br> <label>وصف الأعراض (إن وجدت)</label><br> <textarea rows="3" placeholder="مثال: حرارة مرتفعة منذ يومين"></textarea><br> <input type="checkbox" name="reminder"> أوافق على إرسال تذكير بالموعد عبر رسالة نصية<br> <button type="submit">تأكيد الحجز</button> </form> </section> </main> <footer> <p>عيادة د. سلمى حسن — 12 شارع النصر، المنصورة</p> <a href="tel:0502234567">اتصلي: 0502234567</a> <a href="mailto:clinic@drsalma-eg.com">راسلينا: clinic@drsalma-eg.com</a> </footer> </body> </html>
استشارية طب الأطفال وحديثي الولادة
د. سلمى حسن استشارية طب الأطفال وحديثي الولادة، خبرة أكتر من 15 عامًا في متابعة نمو الأطفال وتطعيماتهم.
| الخدمة | السعر | المدة التقريبية |
|---|---|---|
| كشف جديد | 300 جنيه | 30 دقيقة |
| كشف متابعة (خلال 15 يوم) | 150 جنيه | 15 دقيقة |
| تطعيم + متابعة نمو | 200 جنيه | 20 دقيقة |
| اليوم | الفترة الصباحية | الفترة المسائية |
|---|---|---|
| السبت — الخميس | 10 ص — 1 م | 5 م — 9 م |
| الجمعة | عطلة أسبوعية | |
fieldset وlegend لتجميع بيانات ولي الأمر والطفل في إطار واحد واضح داخل الفورم.colspan="2" في جدول المواعيد دمجت خليتي الفترة الصباحية والمسائية في خلية واحدة تقول "عطلة أسبوعية" ليوم الجمعة.mark لتظليل مدة الخبرة، وsmall لعرض رقم القيد النقابي بخط أصغر كملاحظة جانبية.radio لأنه اختيار واحد بس من بين 3، بعكس checkbox الموافقة على التذكير اللي ممكن تتفعّل أو لأ بشكل مستقل.select ثاني لاختيار "الطبيب المفضل" لو العيادة فيها أكتر من دكتور.address بدل p عادي، وابحثي عن الفرق الدلالي بينهم.صفحة بورتفوليو كاملة لمصممة واجهات مستخدم — نبذة تعريفية، مهارات، معرض أعمال بمقالات مستقلة، وفورم تواصل احترافي.
<!DOCTYPE html> <html lang="ar" dir="rtl"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>ريم كريم | مصممة واجهات مستخدم</title> </head> <body> <header> <h1>ريم كريم</h1> <p>مصممة واجهات مستخدم (UI/UX Designer)</p> <nav> <a href="#about">نبذة عني</a> <a href="#skills">المهارات</a> <a href="#work">أعمالي</a> <a href="#contact">تواصلي معايا</a> </nav> </header> <main> <section id="about"> <h2>نبذة عني</h2> <img src="https://placehold.co/150x150/C1572F/ffffff?text=Reem" alt="صورة ريم كريم الشخصية" width="150"> <p>مصممة واجهات مستخدم شغوفة بتحويل الأفكار المعقدة لتجارب بصرية بسيطة وسهلة الاستخدام. <em>متاحة حاليًا للعمل الحر (Freelance)</em>.</p> <small>خريجة كلية الحاسبات والمعلومات، جامعة المنصورة — 2025</small> </section> <section id="skills"> <h2>المهارات</h2> <ul> <li>Figma و Adobe XD</li> <li>HTML و CSS من الصفر</li> <li>مبادئ تجربة المستخدم (UX Research)</li> <li>التصميم المتجاوب (Responsive Design)</li> </ul> </section> <section id="work"> <h2>أعمالي المختارة</h2> <article> <h3>تطبيق توصيل طلبات "وصلني"</h3> <p>إعادة تصميم كاملة لتجربة الطلب من الصفر حتى الدفع، بتقليل عدد خطوات الطلب من 6 لـ 3 خطوات بس.</p> <a href="https://example.com/wasalny" target="_blank">شاهدي دراسة الحالة كاملة</a> </article> <article> <h3>موقع متجر "لمسة"</h3> <p>تصميم متجر إلكتروني لبيع مستلزمات المنزل، بهوية بصرية دافئة وبسيطة تناسب طبيعة المنتجات.</p> <a href="https://example.com/lamsa" target="_blank">شاهدي دراسة الحالة كاملة</a> </article> <article> <h3>تطبيق تتبع اللياقة "خطوة"</h3> <p>واجهة تتبع الخطوات والتمارين اليومية، مع لوحة إحصائيات بصرية سهلة القراءة بنظرة واحدة.</p> <a href="https://example.com/khatwa" target="_blank">شاهدي دراسة الحالة كاملة</a> </article> </section> <section id="contact"> <h2>تواصلي معايا</h2> <form> <label>الاسم</label><br> <input type="text" name="name" placeholder="اسمك بالكامل" required><br> <label>البريد الإلكتروني</label><br> <input type="email" name="email" required><br> <label>موضوع الرسالة</label><br> <select name="subject"> <option>عرض تعاون</option> <option>استفسار عن مشروع سابق</option> <option>أخرى</option> </select><br> <label>رسالتك</label><br> <textarea rows="4" placeholder="اكتبي تفاصيل طلبك هنا"></textarea><br> <button type="submit">إرسال الرسالة</button> </form> <h3>تابعيني على</h3> <ul> <li><a href="https://linkedin.com" target="_blank">LinkedIn</a></li> <li><a href="https://behance.net" target="_blank">Behance</a></li> <li><a href="mailto:reem.kareem@example.com">راسليني مباشرة</a></li> </ul> </section> </main> <footer> <p>© 2026 ريم كريم — كل الحقوق محفوظة</p> </footer> </body> </html>
مصممة واجهات مستخدم (UI/UX Designer)
مصممة واجهات مستخدم شغوفة بتحويل الأفكار المعقدة لتجارب بصرية بسيطة وسهلة الاستخدام. متاحة حاليًا للعمل الحر (Freelance).
خريجة كلية الحاسبات والمعلومات، جامعة المنصورة — 2025إعادة تصميم كاملة لتجربة الطلب من الصفر حتى الدفع، بتقليل عدد خطوات الطلب من 6 لـ 3 خطوات بس.
شاهدي دراسة الحالة كاملةتصميم متجر إلكتروني لبيع مستلزمات المنزل، بهوية بصرية دافئة وبسيطة تناسب طبيعة المنتجات.
شاهدي دراسة الحالة كاملةواجهة تتبع الخطوات والتمارين اليومية، مع لوحة إحصائيات بصرية سهلة القراءة بنظرة واحدة.
شاهدي دراسة الحالة كاملةarticle لأنه محتوى مستقل بذاته، يصح نشره أو مشاركته لوحده بمعزل عن باقي الصفحة.target="_blank" عشان تفتح في تبويب جديد ومتودّيش الزائر برا البورتفوليو بتاعك.mailto: عشان يفتح تطبيق البريد جاهز بإيميلك مباشرة من غير ما الزائر يدور عليه.select لتصنيف موضوع الرسالة، وده بيسهّل عليكِ فرز الرسائل الجاية لاحقًا حسب النوع.aside بجانب قسم أعمالك يعرض "إحصائية سريعة" زي عدد المشاريع المنجزة.hgroup أو نظّميها بـ div وspan بدل النص المباشر.input type="url" في فورم التواصل لطلب رابط موقع الزائر الشخصي (اختياري).أشمل مشروع في هذه المجموعة — صفحة تسجيل لمؤتمر ويب مصر، مصمّمة عمدًا لتغطي أكبر عدد ممكن من كل وسوم وخصائص HTML اللي اتعلمناها في المذكرة كاملة.
<!DOCTYPE html> <html lang="ar" dir="rtl"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content="مؤتمر ويب مصر السنوي لمطوري الويب والمصممين"> <title>مؤتمر ويب مصر 2026</title> </head> <body> <header> <h1>مؤتمر ويب مصر <sup>2026</sup></h1> <p>يوم كامل لمطوري ومصممي الويب في مصر</p> <nav> <a href="#about">عن المؤتمر</a> <a href="#schedule">الجدول الزمني</a> <a href="#video">فيديو تعريفي</a> <a href="#faq">أسئلة شائعة</a> <a href="#register">سجّلي الآن</a> </nav> </header> <main> <section id="about"> <h2>عن المؤتمر</h2> <p><strong>مؤتمر ويب مصر</strong> هو التجمع السنوي الأكبر لمطوري ومصممي الويب في مصر، بيجمع أكتر من <mark>500 مشارك</mark> من كل أنحاء البلد.</p> <hr> <h3>ليه تحضري؟</h3> <ul> <li>ورش عمل عملية في HTML وCSS وJavaScript</li> <li>لقاءات تواصل مع شركات توظيف كبرى</li> <li>شهادة حضور معتمدة</li> </ul> <small>الأماكن محدودة — التسجيل المبكر أرخص بنسبة 20%</small> </section> <section id="schedule"> <h2>الجدول الزمني</h2> <table> <caption>برنامج اليوم الكامل</caption> <thead> <tr><th>الوقت</th><th>الجلسة</th><th>القاعة</th></tr> </thead> <tbody> <tr><td>9:00 ص</td><td colspan="2">التسجيل واستقبال الحضور</td></tr> <tr><td rowspan="2">10:00 ص</td><td>مقدمة في تطوير الويب الحديث</td><td>القاعة الرئيسية</td></tr> <tr><td>مبادئ تصميم واجهات المستخدم</td><td>قاعة B</td></tr> <tr><td>1:00 م</td><td colspan="2">استراحة غداء</td></tr> </tbody> <tfoot> <tr><td colspan="3">الجدول قابل للتعديل حسب عدد المتحدثين المؤكدين</td></tr> </tfoot> </table> </section> <section id="video"> <h2>فيديو تعريفي</h2> <video width="320" height="180" controls> <source src="conference-intro.mp4" type="video/mp4"> متصفحك لا يدعم عرض الفيديو. </video> <h3>موقع المؤتمر على الخريطة</h3> <iframe src="https://www.google.com/maps/embed?..." width="100%" height="200" allowfullscreen></iframe> </section> <section id="faq"> <h2>أسئلة شائعة</h2> <dl> <dt>هل السعر يشمل الغداء؟</dt> <dd>نعم، سعر التذكرة يشمل وجبة غداء وقهوة طوال اليوم.</dd> <dt>هل فيه خصم للطلبة؟</dt> <dd>نعم، خصم 30% بعرض الكارنيه الجامعي عند التسجيل.</dd> </dl> </section> <section id="register"> <h2>سجّلي الآن</h2> <form> <input type="hidden" name="event_id" value="webconf2026"> <fieldset> <legend>البيانات الشخصية</legend> <label>الاسم بالكامل</label><br> <input type="text" name="fullname" required><br> <label>البريد الإلكتروني</label><br> <input type="email" name="email" required><br> <label>رقم الهاتف</label><br> <input type="tel" name="phone"><br> </fieldset> <label>نوع التذكرة</label><br> <select name="ticket"> <option>عادية</option> <option>طالب/ة</option> <option>VIP</option> </select><br> <label>عدد سنوات الخبرة</label><br> <input type="range" name="experience" min="0" max="20" step="1"><br> <label>ارفعي صورة كارنيه الجامعة (للخصم الطلابي)</label><br> <input type="file" name="student_id" accept="image/*"><br> <input type="checkbox" name="terms" required> أوافق على الشروط والأحكام<br> <input type="checkbox" name="newsletter"> أرغب بالاشتراك في النشرة البريدية<br> <button type="submit">تأكيد التسجيل</button> </form> </section> </main> <footer> <p>© 2026 مؤتمر ويب مصر<sup>®</sup> — جميع الحقوق محفوظة</p> <a href="mailto:info@webconf-eg.com">راسلينا: info@webconf-eg.com</a> <a href="brochure.pdf" download>تحميل بروشور المؤتمر (PDF)</a> <p><small>الأسعار والمواعيد قابلة للتغيير دون إشعار مسبق.</small></p> </footer> </body> </html>
يوم كامل لمطوري ومصممي الويب في مصر
مؤتمر ويب مصر هو التجمع السنوي الأكبر لمطوري ومصممي الويب في مصر، بيجمع أكتر من 500 مشارك من كل أنحاء البلد.
| الوقت | الجلسة | القاعة |
|---|---|---|
| 9:00 ص | التسجيل واستقبال الحضور | |
| 10:00 ص | مقدمة في تطوير الويب الحديث | القاعة الرئيسية |
| مبادئ تصميم واجهات المستخدم | قاعة B | |
| 1:00 م | استراحة غداء | |
| الجدول قابل للتعديل حسب عدد المتحدثين المؤكدين | ||
rowspan="2" على خلية "10:00 ص" لأنها بتخدم جلستين في نفس التوقيت لكن قاعتين مختلفتين، بعكس colspan اللي استُخدم لصفوف الاستراحات اللي بتاخد الصف كله.dl وdt وdd لأنه بالظبط السيناريو المثالي ليها: مصطلح (سؤال) وتعريفه (إجابة) بشكل متكرر ومنظم.input type="hidden" بيحمل معرّف الفعالية بشكل غير ظاهر للزائر، وrange لسنوات الخبرة، وfile لرفع كارنيه الجامعة — تغطية شبه كاملة لأنواع input.sup لعلامة ® بجانب اسم المؤتمر، وdownload لتحميل ملف PDF مباشرة، وsmall لملاحظة الأسعار القابلة للتغيير.audio controls لتشغيل مقطع تشويقي صوتي عن المؤتمر بجانب الفيديو.input type="color" وهمي لاختيار لون تيشرت المؤتمر المفضل عند التسجيل، وابحثي هل ده استخدام منطقي أم لا.