Professional Documents
Culture Documents
HTML5 و CSS3 تعلم PDF
HTML5 و CSS3 تعلم PDF
العزـ عمى
َ عقدت
ُ غت مف تأليؼ ىذا الكتاب في األشير األولى مف عاـ ٕٔٔٓ ,و كنت قدفر ُ
كأوؿ كتاب عربي في موضوعو ,حاذياً بذلؾ حذو أخيو و سابقو (تعمّـ jQuery
إصداره مطبوعاً َّ
تتييأ الظروؼ المالئمة لذلؾ حتّى ىذه المحظة بعد
لكف مشيئة اهلل قضت ّأّل ّفي ٕٓٔ دقيقة) َّ ,
أف قيمة ٍ
عمؿ كيذا تتضاءؿ مع مرور انقضاء خمسة و عشريف شي اًر عمى إتمامو ,و َّ
ألنني أؤمف َّ
اإللكتروني ()PDF
ِّ مجاني بصيغة الكتاب ٍ
بشكؿ ّ الوقت فقد رأيت -بعد تفكير -أف أنشره مخمصاً
مني أكثر مف كتابة ىذه األسطر.
الصيغة ّل يتطمّب ّ
لما كاف نشره بيذه ّ َّ
الدارسيف ينتفع بو ّ
لعؿ أحد ّ
مختار
البوكماؿ ٕٖٓٔٓٔ/ٙ/
ٜ
ٔٓ
بين يدي الكتاب
ِ
أصحابو أجمعيف ,و محمٍد و عمى ِ
آلو و السالـ عمى نبيِّنا َّ
الرحيـ ,و الصَّالة و َّ
الرحمف ّ
بسـ اهلل ّ
بعد:
يناقش ىذا الكتاب أحدث إصدار لكؿ مف لغتي HTMLو CSSالمتاف تعتبراف الخطوة األولى
ألي ُمطَ ِّور Webإذ يقوـ بشرح لغة HTML5بعد التمييد لذلؾ مف خالؿ شرح HTMLالتقميدية
مفصالً لػ
َّ ثـ معايير XHTMLمف الصفر أيضاً ,كما ِّ
يقدـ ىذا الكتاب شرحاً مف الصفر و مف َّ
CSS3بعد التمييد لذلؾ مف خالؿ شرح CSSالتقميدية مف الصفر أيضاً ,و بيذا فإف ىذا الكتاب
يتألؼ مف فصميف:
ٔ :HTML5 -يناقش ىذا الفصؿ اإلصدار الخامس (و األحدث) مف لغة البرمجة النصيَّة
متدرج و يضمف لقارئو أف يكوف قاد اًر عمى كتابة
َّ التشعبيَّة HTMLبشكؿ مفصَّؿ و
صفحات ويب بالمحتوى الذي يرغبو و بالشكؿ الذي يريده بإذف اهلل.
ٔٔ
ٕ :CSS3 -يناقش ىذا الفصؿ كامؿ المزايا التي يقدميا اإلصدار الثالث (و األحدث) مف
أوراؽ األنماط اّلنسيابيَّة CSSبشكؿ بسيط و مفيوـ ,و يعد قارئو أف يكوف قاد اًر عمى
قدمو في صفحات الويب التي تعمَّـ كتابتيا في الفصؿ َّ
األوؿ. تجميؿ المحتوى الذي َّ
ٖ -كي يكتمؿ الحديث عف البرمجة لمويب مف طرؼ العميؿ Client Sideكاف يجب أف
يكوف ىناؾ فصؿ ثالث يتحدث عف لغة Java Scriptو لكف و ألنني مف أنصار الحداثة
(و السيولة) فيما يتعمؽ بالتقنيات البرمجية فأنصح القارئ العزيز بقراءة كتابي "تعمَّـ
jQueryفي ٕٓٔ دقيقة" أو أي مرجع يتحدث عف لغة jQueryبشكؿ واضح و مبسَّط
بعد قراءة ىذا الكتاب أوّلً ,ألف jQueryىي البديؿ العصري لمغة Java Scriptبرأيي.
أما عف طريقة عرض األفكار في ىذا الكتاب فقد حاولت و اجتيدت كي أجعميا غير مممَّة و ّل ّ
معقَّدة و ّل شبيية بالمحتوى المتعب الذي كثي اًر ما عانيت منو في الكتب التي تناقش لغات البرمجة
َّ
البرمجية غير المفيومة دفعةً لألسؼ و يمكنني أف أقوؿ أف ىذا الكتاب ّل ِّ
يفجر عشرات األسطر
واحدةً في وجو قارئو دوف توضيح ليا ,كما َّأنو ّل يطيؿ أكثر مف المطموب في عرض الفكرة ,لكنو
باختصار يقوؿ ما يجب قولو فقط دوف أف يغفؿ أي جانب مف الجوانب التي تتوجب معرفتيا.
ختاماً أسأؿ اهلل أف يتقبَّؿ ىذا العمؿ و أف يبارؾ فيو و يكتبو صدقةً جاريةً مف باب العمـ الذي ينتفع
بو و أف يميـ قارئو الفيـ و الحفظ و الصبر عمى التعمُّـ.
البوكماؿ ٕٓٔٔ/ٛ/ٕٛ
ٕٔ
األوؿ
الفصؿ َّ
HTML 5
ٖٔ
ٔٗ
مقدمة
ألننا ّل
يناقش ىذا الفصؿ لغة HTML5التي تعتبر حجر األساس في إنشاء مواقع الويب ,و ّ
يمكف أف نتحدث عف HTML5مباشرةً فسيناقش ىذا الفصؿ لغتي HTMLو XHTMLأوّلً ,و
البداية مع لغة .HTML
ما هي HTML؟
َّ
إف HTMLىي اختصار abbreviationالحروؼ األولى مف الجممة Hyper Text Markup
Languageو التي تعني بترجمة غير حرفية (لغة وصؼ صفحات الويب)ٔ ,و ىي ليست لغة
برمجيَّةّ ,ل ,بؿ ىي لغة وصفيَّة َّ ,Markup Language
ألف HTMLتستخدـ مجموعة مف
الوسوـ Tagsلوصؼ صفحة الويب.
أما الوسوـ Tagsفيي كممات أو أحرؼ محددة مسبقاً Keywordsتحمؿ معاني خاصَّة ,و تكوف
َّ
محصورة بيف قوسيف مف الشكؿ > < مثؿ > <bو > ,<htmlتأتي الوسوـ في الغالب عمى شكؿ
األوؿ > <bبوسـ البداية Begin Tagأو وسـ الفتح
أزواج مثؿ > <bو > ,</bيدعى الوسـ َّ
أو وسـ اإلغالؽ ,Opening Tagو يدعى الوسـ الثاني > </bبوسـ النياية End Tag
.Closing Tag
يتـ كتابة مستندات HTMLباستخداـ أي محرر نصي بسيط (مثؿ )notepadأو ِّ
متقدـ (مثؿ
DreamWaverأو ,)Visual Studioو يتـ تخزينيا في ممفات تحمؿ امتداداً extensionمف
اّلمتداديف التالييف .html :أو ,.htmو بالطبع ّل يوجد أي فرؽ بينيما.
ٔ
لكنني أشعر أنيا الترجمة األنسب.
ّل أعرؼ إف قاـ أحد قبمي بترجمتيا بيذه الطريقة ّ
٘ٔ
تتكوف مستندات HTMLبشكؿ أساسي مف محتوى نصي عادي باإلضافة إلى مجموعة مف وسوـ
,HTMLو في الحقيقة فإف مستندات HTMLتدعى بػ(صفحات الويب) ,Web Pagesو يتـ
استخداـ برنامج خاص لقراءة ىذه المستندات يعرؼ ىذا البرنامج باسـ مستعرض الويب Web
Browserو مف أمثمتو Internet Explorerو Firefoxو .. Google chromeإلخ.
اليدؼ مف مستعرض الويب ىو قراءة مستندات HTMLو عرضيا بشكؿ صفحات ويب ,بمعنى
أف مستعرض الويب ّل يعرض وسوـ HTMLكنصوص بشكؿ مباشر و َّ
لكنو يستخدميا إلنتاج
صفحة ويب بالشكؿ و المحتوى الموصوفيف في مستند .HTML
كؿ ما تحتاجو لكي تبدأ في تعمـ كتابة مستندات HTMLىو محرر نصوص (مثؿ )Notepadو
مستعرض ويب (مثؿ ,)Internet Explorerبعد ذلؾ يمكنؾ قراءة الفقرات التالية و التعمـ خطوة
بخطوة و أؤكد لؾ َّ
أف أفضؿ طريقة لمتعمـ –برأيي -ىي كتابة األمثمة التي ستصادفؾ ّلحقاً بشكؿ
ثـ اختبارىا باستخداـ مستعرض الويب.
مباشر باستخداـ محرر النصوص و مف َّ
نقوـ أوّلً بفتح أحد محررات النصوص و ليكف المفكرة Notepadعمى سبيؿ المثاؿ و نكتب
الشيفرة التالية:
><html
><head
><title
ٔٙ
></title
></head
><body
><p
></p
></body
></html
ممحوظة :لحفظ الممؼ بالحقة مختمفة عف الالحقة .txtىناؾ طريقتاف ,األولى أف نختار الخيار جميع الممفات
* *.مف القائمة المنسدلة حفظ كػ Save as typeالظاىرة في الصورة أسفؿ اسـ الممؼ ثـ نكتب اسـ الممؼ و
َّ
شخصياً فيي أف نضع اسـ الممؼ مع ّلحقتو المطموبة بيف عالمتي أما الثانية و التي ِّ
أفضميا ّلحقتو بشكؿ عاديَّ ,
َّ
موضح في الصورة أعاله. اقتباس مزدوجتيف و نختار حفظ كما ىو
ٔٚ
اآلف و بعد أف قمنا بحفظ الممؼ باّلسـ firstPage.htmlنقوـ باستعراضو باستخداـ أحد
مستعرضات الويب و ليكف Internet Explorer 8عمى سبيؿ المثاؿ لنشاىد الشكؿ النيائي
لمصفحة كمايمي:
كما ترى فقد قمنا بكتابة صفحتنا األولى باستخداـ لغة HTMLو ىذه الصفحة تحتوي عمى نص
ترحيب بسيط ىو النص ! ,Welcome to my first HTML pageتـ توليد ىذا النص باستخداـ
فإف ىذه الصفحة عمى بساطتيا ستكوف الباب الواسع لمدخوؿ إلى لغةبتصوري َّ
ّ الوسـ الخاص pو
إف قرأت الفقرات التالية بقميؿ مف التركيز.
ْ HTML
عناصر HTML
تحصر الوسوـ بيف أقواس مف الشكؿ > < و مف أمثمتيا الوسـ > <htmlو الوسـ > <headو
الوسـ > <titleو الوسـ > <bodyو الوسـ >.<p
ٔٛ
لكؿ عنصر مف عناصر HTMLوسـ بداية Begin Tagو وسـ نياية End Tagتكوف وسوـ
><html
><body
><p
></p
></body
></html
ثـ
األوؿ > </pجاء إلنياء أقرب وسـ بداية غير منتيي و ىو > <pفي مثالناَّ , َّ
ألف وسـ النياية َّ
ثـ جاء وسـ
جاء وسـ النياية > </bodyإلنياء أقرب وسـ بداية غير منتيي و ىو >َّ ,<body
النياية > </htmlإلنياء أقرب وسـ بداية غير منتيي و ىو >.<html
َّ
فإف الترتيب التالي يعتبر خاطئاً:
><html
><body
ٜٔ
><p
></body
></html
></p
ألف وسـ النياية > </bodyجاء إلنياء الوسـ > <bodyالذي لـ يكف الوسـ األقرب غير المنتيي
لألسؼ و الحالة نفسيا تكررت مع وسمي النياية > </htmlو >.</p
في لغة ّ HTMLل يوجد أي قيمة لمحارؼ الفراغات (مثؿ Spaceو .. Tabإلخ) عند استعراض
الصفحات باستخداـ مستعرض الويب و َّإنما تستخدـ محارؼ الفراغات لغرض ترتيب الشيفرة و
جعميا مقروءة بشكؿ أوضح فقط ,فقراءة شيفرة HTMLالتالية عمى سبيؿ المثاؿ:
><html
><body
><h1
!Hi
></h1
></body
></html
><html><body><h1>Hi!</h1></body></html
ٕٓ
مع َّأنيما متماثمتاف تماماً عند استعراضيما باستخداـ مستعرض الويب.
فائدة :مف العادات البرمجيَّة الجيدة إزاحة كؿ المحتوى الموجود بيف وسمي بداية و نياية متماثميف بمقدار ضغطة
Tabو البعض ِّ
يفضؿ إزاحتيا بمقدار ثالث فراغات (ثالث ضغطات عمى مفتاح .)Space
يتـ وصؼ عناصر HTMLباستخداـ الوسوـ ,و فيمايمي نعرض الشكؿ العاـ لعنصر :HTML
ممحوظة :دائماً و أبداً ,قـ بكتابة عناصر HTMLباألحرؼ اإلنجميزيَّة بحالتيا الصغيرة .Lower Case
ٕٔ
my websiteبينما يبدأ العنصر الثاني بالوسـ >" <a href="index.htmو ينتيي بالوسـ ></a
و يحوي المحتوى النصي Go to indexمع إسناد القيمة index.htmإلى واصفتو ,hrefفي
حيف َّ
أف العنصر الثالث عديـ المحتوى يتكوف مف اتحاد وسمي البداية و النياية في وسـ واحد
بالشكؿ >.<hr /
ٕ
لـ يرد ىذا المصطمح في أي مف المراجع التي قرأتيا و إنَّما ىو اجتياد شخصي لتبسيط الفكرة المطروحة (برأيي).
ٕٕ
و ىي المنطقة المحصورة بيف وسمي > <htmlو > </htmlو ىذه المنطقة ىي المنطقة
التي تحدد بداية و نياية الصفحة و ىي التي تضـ منطقتي الرأس و الجسد و بيذا فيي
تضـ كامؿ مستند (صفحة) .HTML
><html
><head
></head
><body
ً س١ىٕ٘ ْٛب
َّب
ِحز ٜٛاٌظفحخ إٌٙبئ ٚ ٟاٌظب٘ش فؼٍ١
></body
></html
ٖٕ
>"<p align="center
></p
كما تالحظ فقد قمنا بإضافة شيء جديد في ىذه الشيفرة إلى وسـ البداية الخاص بالعنصر pأّل و
ىو الواصفة alignالتي تحدد محاذاة النص الذي سيعرضو العنصر pو أعطيناىا القيمة center
لعرض النص في منتصؼ الصفحة و عند استعراضيا سيظير النص كمايمي:
الشكل : 3عنصر عرض النصوص > <pعند إضافة واصفة المحاذاة align
حسناً ,يوجد لكؿ وسـ بداية مف وسوـ HTMLمجموعة معروفة سمفاً مف الواصفات Attributesو
يوجد لكؿ واصفة مجموعة معروفة سمفاً مف القيـ التي يمكف أف يتـ إسنادىا إلى الواصفة ,فالواصفة
alignىي إحدى الواصفات المعروفة سمفاً لوسـ البداية > <pعمى سبيؿ المثاؿ و القيـ التي يمكف
أف تسند إلييا ىي leftلمحاذاة النص إلى اليسار أو rightلمحاذاة النص إلى اليميف أو center
لمحاذاة النص إلى الوسط ,و سيتـ بالطبع عرض واصفات كؿ وسـ بالتفصيؿ عند الحديث عنو و
أظف أنو ّل داعي لمقوؿ أف الشكؿ العاـ لمواصفة ىو "name="valueحيث َّ
أف nameىو اسـ
سندة لتمؾ الواصفة و التي يجب أف توضع بيف عالمتي اقتباس
الم َ
الواصفة و valueىي القيمة ُ
مزدوجتيف " " أو عالمتي اقتباس مفردتيف ‘ ‘.
ممحوظة :يجب أف تتـ كتابة وسوـ و واصفات HTMLبحروؼ إنجميزيَّة صغيرة .Lower Case
ٕٗ
أظف َّأننا نستطيع اآلف أف نبدأ بالحديث عف عناصر HTMLكافةً و بالتفصيؿ و البداية مع
عناصر العناويف ,Headingsو لكف قبؿ ذلؾ سنعرض جدوّلً بمجموعة مف الواصفات المشتركة
بيف أغمب وسوـ HTMLىنا بدّلً مف تكرارىا مع كؿ وسـ مف تمؾ الوسوـ ,و فيمايمي الجدوؿ:
ٕ٘
عناصر العناوين Headings
توفر لغة HTMLستَّة عناصر لعرض العناويف و ىي عمى الترتيب h1 :و h2و h3و h4و
h5و h6حيث َّ
أف العنصر h1ىو أكبرىا حجماً و العنصر h6ىو األصغر و ما بينيما يتدرج
في الحجـ ,و طبعاً حرؼ الػ hىنا اختصار لكممة ,Headingدعنا نجرب الشيفرة التالية عمى
سبيؿ المثاؿ:
><html
><head
><title
></title
></head
>'<body dir='rtl
َّل><h1
></h1عىصر عىىان مه انمضرىي األو
></body
></html
ٕٙ
الشكل : 4صفحة اختبار عناصر العناوين h1إلى h6
كما تالحظ فقد قمنا بتزويد الوسـ > <bodyبالواصفة dirو التي تحدد اتجاه قراءة جسد المستند و
قمنا بإسناد القيمة rtlليا و ذلؾ لنجعؿ اتجاه القراءة مف اليميف إلى اليسار right to leftو ىو ما
ط أية قيمة فإف القيمة
يتناسب مع المغة العربية بالطبع ,و في حاؿ أف ىذه الواصفة لـ تُ ْع َ
اّلفتراضية ليا ىي ltrأي أف اتجاه القراءة اّلفتراضي مف اليسار إلى اليميف.
ممحوظة :استخدـ عناصر العناويف > <h1إلى > <h6مف أجؿ عناويف الفقرات فقط ,و ّل تستخدميا لجعؿ النص
عريضاً أو كبير الحجـ فيناؾ وسوـ خاصة ليذيف الغرضيف.
ِّ
تقدـ لغة HTMLالوسـ الخاص > <hr /إلنشاء الخطوط األفقيَّة في الصفحة ,انظر لممثاؿ التالي:
><html
><head
ٕٚ
><title
></title
></head
>'<body dir='rtl
><hr /
><hr /
></body
></html
ٕٛ
التعميقات Comments
اعتاد المبرمجوف في لغات البرمجة التقميديَّة عمى كتابة أسطر توضيحيَّة ّل تُعالَج إذ أنيا ّل تعتبر
جزءاً مف الشيفرة ,و َّإنما تستخدـ فقط لتذكير المبرمج بأجزاء الشيفرة عندما يعود لتعديميا بعد فترة
مف الزمف ,و ىذه األسطر تعرؼ بالتعميقات ,Commentsو مع َّ
أف HTMLلغة وصفية كما
قمت سابقاً ّإّل أنيا توفر آلية لكتابة التعميقات ضمف المستنداتِّ ,
فتقدـ الصيغة العامة التالية لكتابة
التعميؽ:
><html
><head
ً إٌٙ١ب ><title
طفحخ اخزجبس ٌؼٕظش اٌخؾ األفمِ ٟؼبفب
َّخ
>ِ</titleجّٛػخ ِٓ اٌزؼٍ١مبد اٌجشِج١
></head
>'<body dir='rtl
></body
></html
ٕٜ
تبدو الشيفرة السابقة كمايمي في مستعرض الويب مما يؤ ّكد أف التعميقات ّل تظير في المستند( أثناء
جرب اختيار األمر "عرض <-المصدر" أو ":)"View->source
استعراض الصفحة ِّ
الشكل : 6التعميقات تظهر بالمون األخضر في نافذة عرض المصدر و ال تظهر في الصفحة
تتكوف صفحة الويب في الواقع مف مجموعة مف الفقرات النصية في الغالب ,يتـ إنشاء ىذه الفقرات
باستخداـ الوسـ > <pو الذي مر معنا استخدامو في األمثمة السابقة ,و يستخدـ الوسـ ><br /
لمنزوؿ إلى السطر التالي و ذلؾ ألف محارؼ الفراغات بما فييا محرؼ المفتاح Enterليس ليا
قيمة في لغة HTMLكما ذكرنا سابقاً.
توفر لغة HTMLمجموعة مف العناصر لتنسيؽ النصوص ,فمجعؿ النص عريضاً Boldتوفر
العنصر >( <bأو العنصر > ,)<strongو لجعؿ النص مائالً Italicتوفر العنصر >( <iأو
ٖٓ
توفرDelete و لشطب النص,<u> و لوضع خط أسفؿ النص توفر العنصر,)<em> العنصر
: لنشاىد الشيفرة التالية عمى سبيؿ المثاؿ,<del> العنصر
<html>
<head>
</head>
<body>
<p>
<b>bold</b>,
<i>italic</i>,
<u>underline</u> and
<del>delete</del> tags.
<!-- ً
احذاٚ ً
ي سـشاٚ< ٌٍٕضbr/> اسزخذِٕب-->
<br/>
<br/>
<strong>bold</strong>,
<em>italic</em>,
<u>underline</u> and
<del>delete</del> tags.
</p>
</body>
ٖٔ
></html
ممحوظة :بالطبع ىناؾ المزيد مف عناصر تنسيؽ النصوص سيتـ ذكرىا في مرجع وسوـ HTMLفي نياية ىذا
الفصؿ.
ىناؾ بعض المحارؼ و الرموز التي ّل يمكف عرضيا في الصفحة عف طريؽ كتابتيا بشكؿ مباشر
مثؿ الرموز المستخدمة في الرياضيات و محارؼ الفراغات و غيرىا ,توفر لغة HTMLآلية خاصة
لعرض ىذه الرموز و ذلؾ باتباع الصيغة العامة التالية ; &valueباستبدؿ القيمة valueبقيمة
المحرؼ المطموب أف يتـ عرضو في مستعرض الويب و في الجدوؿ التالي نماذج مف ىذه
ٖ
المحارؼ:
ٖ
لمحصوؿ عمى الجدوؿ الكامؿ يمكف اتباع الرابط التالي:
http://www.w3schools.com/tags/ref_symbols.asp
ٕٖ
XHTML شيفرة الرمز
< <
> >
≠ ≠
™ ™
© ©
محرؼ الفراع
HTML بعض المحارف الخاصة في: 2 الجدول
<html>
<head>
<title>
</title>
</head>
<body>
<p>
</p>
</body>
</html>
ٖٖ
و الذي يبدو عند عرضو في المستعرض كمايمي:
توفر لغة HTMLآلية لالنتقاؿ بيف الصفحات المختمفة عبر عناصر الروابط ,Hyper Linksو
الروابط عبارة عف نصوص أو صور تنقمؾ عند النقر عمييا مف الصفحة الحالية إلى إلى صفحة
ويب أخرى ,تقوـ مستعرضات الويب بتمييز الروابط بعرض "يد صغيرة" كمؤشر لمفأرة عند اإلشارة
إلى أحد الروابط ,و يتـ إنشاء الروابط بواسطة الوسـ > ,<aو الػ aىذه اختصار لػ , Anchorيتـ
أما الموقع اليدؼ (الذي سيتـ اّلنتقاؿ إليو عند النقر
تزويد عنصر الرابط بنص ُيعرض كمحتوى لو َّ
عمى الرابط) فيتـ تزويده لمواصفة hrefو التي ىي اختصار لػ ,Hyper Referenceفممنظر
لممثاؿ التالي:
><html
><head
><title
></title
></head
ٖٗ
><body
><br /
></body
></html
لقد قمنا بتزويد صفحتنا بمجموعة مف عناصر الروابط التي تشير إلى بعض المواقع الشييرة و قد
األوؿ الذي قمنا بإنشائو معاً في بداية ىذا الفصؿ و
تعمدت في الرابط األخير ذكر اسـ ممؼ المثاؿ ّ
ذلؾ لتوضيح أف الروابط يمكف أف تكوف مطمقة ( Absoluteكالثالثة األولى) أو نسبية Relative
ٖ٘
(كالرابط األخير) و يقصد بالنسبية أف الرابط المذكور يكوف عبارة عف مسار Pathممؼ الصفحة
اليدؼ بالنسبة لمصفحة الحالية و في حالتنا فقد كانت الصفحة اليدؼ firstPage.htmlفي نفس
مجمد الصفحة الحالية ٗ.
عند النقر عمى أحد ىذه الروابط سيتـ اّلنتقاؿ إلى ال اربط URLالمذكور في الواصفة hrefالمرافقة
لعنصر الرابط الذي تـ النقر عميو ,مف الجدير بالذكر َّأننا قمنا بتزويد بعض الروابط بالواصفة
targetو التي تحدد مكاف عرض الصفحة اليدؼ في المستعرض بمعنى ّأنيا تجيب عمى األسئمة
التالية:
ىؿ سيتـ عرض الصفحة اليدؼ في نفس الصفحة الحالية؟ (في ىذه الحالة فإف قيمة الواصفة ىي
القيمة ,)_selfىؿ سيتـ عرض الصفحة اليدؼ في نافذة مستعرض جديدة؟ ( في ىذه الحالة فإف
قيمة الواصفة ,)_blankىؿ سيتـ عرض الصفحة اليدؼ في إطار محدد؟ (في ىذه الحالة فإف
مفصؿ ّلحقاً).
ّ قيمة الواصفة ىي اسـ اإلطار و سيتـ تناوؿ اإلطارات بشكؿ
آخر ما يجب ذكره عف الروابط حالياً َّأنو يمكف لمرابط أف يشير إلى أي مورد Resourceمتوفر
عمى الويب و ليس فقط الصفحات ,كما يمكف أف يشير الرابط إلى بريد إلكتروني E-Mailو ذلؾ
بأف نضع القيمة mailto:قبؿ البريد اإللكتروني الذي نريد أف نضع رابطاً لو ,انظر المثاؿ التالي:
><html
><head
><title
سٚاثؾ خبطخ
></title
ٖٙ
></head
><body
><br /
></body
></html
توفر لغة HTMLعنص اًر خاصاً لعرض الصور ضمف الصفحة ىذا العنصر ىو العنصر
>( <img/اختصا اًر لػ )Imageالذي يقوـ بعرض الصورة ضمف الصفحة اعتماداً عمى مسارىا
الذي يمرر لمعنصر عبر الواصفة ( srcاختصا اًر لػ ,)Sourceو كما ىو الحاؿ بالنسبة لمعنصر
فإف شكمو العاـ في الغالب
فإف العنصر >ّ <img/ل يمتمؾ أي وسـ نياية و لذلؾ ّ
الخاص >ّ <br/
يكوف > ,<img src="path" /لنشاىد المثاؿ التالي:
><html
><head
><title
></title
></head
ٖٚ
><body
></body
></html
كما تالحظ فقد قاـ عنصر عرض الصور بعرض الصور ذات المسارات المذكورة في كؿ وسـ
نصية يتـ عرضيا في
ّ > ,<img/و مف واصفات ىذا العنصر الواصفة altالتي تسند إلييا قيمة
حاؿ تعذر الوصوؿ إلى الصورة المذكورة في الواصفة srcو ىذه الحالة حدثت معنا في الصورة
الرابعة و التي زودناىا بمسار خاطئ عف قصد لعرض ىذه الحالة ,كما يمكف عرض الصورة
بمقاس محدد و ذلؾ عبر تزويد العنصر imgبواصفتي اّلرتفاع heightو العرض widthو التي
ٖٛ
تسند إلييما قيـ رقميَّة تحدد عرض و ارتفاع الصورة المعروضة بالبكسؿ(ىذا ما تعنيو pxفي القيـ
المسندة لياتيف الواصفتيف).
مف الشائع في مواقع الويب أف يتـ استبداؿ نصوص محتوى عناصر الروابط > <aبالصور و ذلؾ
لتجميؿ محتوى الموقع بحيث يتـ اّلنتقاؿ لمصفحة اليدؼ لمرابط عند النقر عمى الصورة بدّلً مف
النقر عمى النص و يتـ ذلؾ بتضميف العنصر > <img/كمحتوى لمعنصر > <aو فيمايمي نعرض
مثاّلً بسيطاً لذلؾ:
><html
><head
><title
></title
></head
><body
></a
></body
></html
ٖٜ
و ىذا ما يبدو في المستعرض كمايمي:
><html
><body
>"<map name="planetmap
ٓٗ
"انشمش"=<area shape="rect" coords="0,0,82,126" alt
>href="sun.htm" /
></map
></body
></html
>"<map name="planetmap
ٔٗ
بعد ذلؾ قمنا بإنشاء منطقة لكؿ كوكب مف الكواكب عبر الوسـ areaو الذي لو واصفتاف األولى
أما الثانية فيي واصفة اإلحداثيات
shapeلتحديد شكؿ المنطقة (مستطيمة ,دائرية ..إلخ)َّ ,
coordsحيث تـ تمرير أربعة إحداثيات في حالة المستطيؿ لتحديد أبعاد المستطيؿ يمثؿ
اإلحداثياف األوؿ و الثاني الركف األيسر العموي مف المستطيؿ بينما يمثؿ اإلحداثياف الثالث و الرابع
الركف األيمف السفمي مف المستطيؿ و ىذا ٍ
كاؼ لتحديده ,و بالطبع تـ ىذا عمى اعتبار أف مركز
الجممة الديكارتيَّة لمصورة ىو الركف األيسر
العموي مف الصورة ,و بيذا فإف النقطة
(ٓ )ٓ,و النقطة ( )82,126تحدداف
منطقة كوكب الشمس بالمستطيؿ المرسوـ
أما في حالة المنطقة الدائرية فيتـ
بينيماَّ ,
تمرير ثالثة إحداثيات يعبر األوؿ و الثاني
عف نقطة مركز الدائرة و يعبر الثالث عف
الشكل : 13شكل تخيمي لتوضيح المبدأ الهندسي في رسم المناطق نصؼ قطرىا.
ممحوظة :يتـ تمرير اسـ الخريطة إلى الواصفة usemapمسبوقاً بالرمز #
ٕٗ
معرؼ العنصر المراد اّلنتقاؿ إليو
و التي يتـ تحقيقيا عبر استخداـ وسـ الرابط > <aو تمرير َّ
كقيمة لمواصفة hrefبالشكؿ التالي:
ِّ
يوضح ىذه أف idيمثؿ معرؼ العنصر المراد اّلنتقاؿ إليو ضمف الصفحة و المثاؿ التالي
حيث ّ
الفكرة:
><html
><head
><title
></title
></head
><body
></h1اٌفمشح األ<h1>ٌٝٚ
></h1اٌفمشح اٌثبٔ١خ><h1
></h1اٌفمشح اٌثبٌثخ><h1
></body
></html
ٖٗ
القوائم Lists
بعد أف نقوـ بتحديد نوع القائمة التي نرغب بإنشائيا نضيؼ محتواىا كمجموعة مف عناصر > <liو
التي تعني ,List Itemلنشاىد المثاؿ التالي و الذي يعرض كيفيَّة إنشاء قائمة غير مرتبة بسيطة:
><html
><head
></head
>"<body dir="rtl
><ul
><li>HTML</li
><li>HTML5</li
><li>XHTML</li
><li>CSS</li
><li>CSS3</li
></ul
></body
></html
ٗٗ
الشكل : 14مثال لقائمة غير مرتبة بسيطة
بتغيير وسمي البداية و النياية لعنصر القائمة مف > <ulو > </ulإلى > <olو > </olستصبح
القائمة مرتبة بالشكؿ التالي:
٘ٗ
بالطبع و كما ذكرت منذ بداية ىذا الفصؿ فإف أي عنصر مف عناصر HTMLيمكف أف يحوي
بيف وسمي بدايتو و نيايتو أية مجموعة أخرى مف العناصر و ىذا يعني أننا نستطيع إنشاء قائمة
تحوي قوائـ فرعيَّة كعناصر ليا ,و المثاؿ التالي يوضح ىذه الفكرة:
><html
><head
></head
>"<body dir="rtl
><ol
><li
HTML
><ul
></liانرواتط><li
></liانصىر><li
انقىائم><li
><ul
></liانمرذثح><li
></liغير انمرذثح><li
></ul
></li
></ul
></li
><li>HTML 5</li
ٗٙ
><li>XHTML</li
><li>CSS</li
><li>CSS 3</li
></ol
></body
></html
آخر ما يجب ذكره عف القوائـ ّأنو يمكف استخداـ الواصفة typeلتغيير شكؿ القائمة ففي حالة
القوائـ غير المرتبة يمكف إسناد إحدى القيـ التالية إلييا square :أو discأو circleلوضع رمز
المربع أو القرص أو الدائرة أماـ كؿ عنصر عمى الترتيب ,و في حالة القائمة المرتبة يمكف إسناد
ٗٚ
إحدى القيـ ٔ أو Aأو aأو Iأو iإلى الواصفة typeلتحويؿ الترقيـ إلى ترقيـ بأرقاـ عربية ,ترقيـ
بأحرؼ إنجميزية كبيرة ,ترقيـ بأحرؼ إنجميزية صغيرة ,ترقيـ بأرقاـ ّلتينية كبيرة ,ترقيـ بأرقاـ ّلتينية
صغيرة عمى الترتيب.
يوجد نوع خاص مف القوائـ يعرؼ بقوائـ المصطمحات يتـ إنشاؤه باستخداـ الوسـ > <dlلعنصر
القائمة و الوسـ > <dtلعنصر المصطمح و الوسـ > <ddلعنصر تعريؼ المصطمح ,لنشاىد المثاؿ
التالي:
><html
><head
></head
>"<body dir="rtl
><dl
><dt>HTML</dt
><dt>XHTML</dt
><dt>CSS</dt
></dl
></body
></html
ٗٛ
الشكل : 17هكذا تبدو قائمة المصطمحات في المستعرض
الجداول Tables
توفر لغة HTMLآلية إلنشاء الجداوؿ عبر العنصر > <tableو يتـ ذلؾ عبر إنشاء العنصر
ثـ
>ّ <tableأوّلً و تمرير واصفتي العرض widthو عرض الحدود borderبالبكسؿ ,و مف َّ
إنشاء محتويات الجدوؿ عبر عنصر أسطر الجدوؿ table rowsو الذي يتـ تحقيقو باستخداـ
ثـ يتـ ذكر محتويات خاليا table dataكؿ سطر مف أسطر الجدوؿ عمى حدى و
الوسـ >َّ ,<tr
ذلؾ عبر الوسـ > ,<tdو لتسييؿ حفظ الوسوـ يمكف تمثيميا بشكؿ مرئي كمايمي:
و لتطبيؽ ىذا المفيوـ عممياً بغية توضيحو أكثر دعنا نشاىد الشيفرة التالية التي تقوـ بإنشاء جدوؿ
بسيط:
ٜٗ
<html>
<head>
</head>
<body dir="rtl">
<tr>
<td><اصم انكراب/td>
<td><انضعر/td>
</tr>
<tr>
<td><ترمجح انىية/td>
<td>051</td>
</tr>
<tr>
<td><ترمجح انجىال/td>
<td>011</td>
</tr>
<tr>
<td><ترمجح األنعاب/td>
<td>051</td>
</tr>
<tr>
<td><ذعهم انطثخ/td>
<td>51</td>
٘ٓ
></tr
></table
></body
></html
كما رأينا فقد قمنا أوّلً بإنشاء عنصر الجدوؿ > <tableبعرض %٘ٓ widthمف العرض الكمي
لمصفحة (حاوؿ تغيير حجـ نافذة المستعرض لتالحظ أف ذلؾ يبقى صحيحاً!),و بعرض حدود
ثـ قمنا بإنشاء سطر جديد باستخداـ الوسميف > ,<tr></trيحوي ىذا السطر
ٔ borderبكسؿَّ ,
ثـ قمنا
عمى خميتيف > <td></tdتحوي األولى القيمة "اسـ الكتاب" و تحوي الثانية القيمة "السعر"َّ ,
بتكرار نفس األسموب مع األسطر األخرى التي تحوي بيانات الكتب ,أظف أف الموضوع أصبح
واضحاً اآلف.
ممحوظة :يمكف إعطاء قيمة عرض الجدوؿ بالبكسؿ أيضاً أو بأي واحدة قياس مف الواحدات المدعومة في لغة
HTMLو التي سيتـ ذكرىا ّلحقاً.
ٔ٘
يقسـ كؿ جدوؿ مف جداوؿ HTMLإلى أربع مناطؽ:
ٔ -منطقة رأس الجدوؿ ُ :Table Headينشأ ىذا القسـ باستخداـ الوسميف > <theadو
> </theadو يحوي في الغالب عمى عنصر سطر > <tr></trيحوي بيف وسمي بدايتو و
نيايتو عناويف أعمدة الجدوؿ في خاليا مف النوع > <thبدّلً مف > ,<tdحيث تـ
اّلصطالح أف > <tdتعني خمية بيانات table dataفي حيف أف > <thتعني خمية
عنواف .table heading
ٕ -منطقة جسـ الجدوؿ ُ :Table Bodyينشأ ىذا القسـ باستخداـ الوسميف > <tbodyو
> </tbodyو يحوي عمى سطور البيانات و التي تنشأ باستخداـ > <trو بما أف خالياىا
تحوي معمومات فإف الخاليا تنشأ باستخداـ الوسوـ >.<td
ٖ -منطقة ذيؿ الجدوؿ ُ :Table Footينشأ ىذا القسـ باستخداـ الوسميف > <tfootو
> </tfootو يحوي في الغالب عمى عنصر سطر > <tr></trيحوي بيف وسمي بدايتو و
نيايتو ممخصات عف أعمدة الجدوؿ في خاليا مف النوع >.<th
ٗ -عنواف الجدوؿ ُ :Captionيضاؼ عنواف الجدوؿ بكتابة نص العنواف بيف وسمي
> <captionو >ِّ ,</caption
يوضح الشكؿ التالي مناطؽ الجدوؿ المختمفة:
ٕ٘
: التاليةHTML لتحقيؽ الجدوؿ المذكور في صفحتنا سنكتب شيفرة
<html>
<head>
</head>
<body dir="rtl">
<thead>
<tr>
<th><اصم انكراب/th>
<th><انضعر/th>
</tr>
</thead>
<tbody>
<tr>
<td>ت٠ٌٛ<ثشِجخ ا/td>
<td>150</td>
</tr>
<tr>
<td>ايٛ<ثشِجخ اٌج/td>
ٖ٘
<td>200</td>
</tr>
<tr>
<td><ثشِجخ األٌؼبة/td>
<td>350</td>
</tr>
<tr>
<td><رؼٍُ اٌـجخ/td>
<td>50</td>
</tr>
</tbody>
<tfoot>
<tr>
<th><انمجمىع/th>
<th>750</th>
</tr>
</tfoot>
</table>
</body>
</html>
٘ٗ
الشكل : 21مثال إلنشاء جدول HTMLمثالي
في الحقيقة ما تـ استعراضو في الفقرة الماضية كاف جميالً و بسيطاً أيضاً فبالنسبة لحالة مثؿ حالة
فاتورة الشراء فإف جدوّلً بعموديف و بمجموعة مف األسطر أمر بسيط و لكف ماذا عف الحاّلت
األعقد؟ ,ماذا عف الحاّلت التي ّل تكوف فييا الخاليا متساوية األحجاـ؟ ,و ّل األسطر متساوية
عدد الخاليا؟ ,تجيب HTMLعمى ىذه التساؤّلت المحقّة عبر تقديـ الواصفتيف rowspanو
.colspan
تستخدـ الواصفتاف rowspanو colspanمع وسـ بداية الخمية > <tdأو > <thو تسند إلييما
قيمة رقمية صحيحة (ٔ أو ٕ أو ٖ ..إلخ) تغير مف حجـ الخمية فتجعميا بحجـ خميتيف أو ثالث
أو أربع ..إلخ ,حيث أف rowspanتتحكـ بعرض الخمية ,أما colspanفتتحكـ بارتفاع الخمية.
٘٘
<html>
<head>
</head>
<body dir="rtl">
<tbody>
<tr>
<td><اسُ اٌىزبة/td>
<td rowspan="3">
<img src="jQuery120.png">
</td>
</tr>
<tr>
<td><اٌّؤٌف/td>
</tr>
<tr>
<td><سٕخ اإلطذاس/td>
<td>2010</td>
</tr>
<tr>
<td colspan="3">
٘ٙ
ثشىً ِجسؾ ٚ ٚاػح .....إٌخ.
></td
></tr
></tbody
></table
></body
></html
الشكل : 22مثال عمى إنشاء جدول غير بسيط باستخدام الواصفتين rowspanو colspan
٘ٚ
,)"colspan="3أظف أف استخداـ الواصفتيف rowspanو colspanأصبح واضحاً اآلف ,و
بالنسبة ألصدقائي الذيف لـ تتضح الصورة بالنسبة ليـ فأعتذر منيـ و أنصحيـ أف يقوموا بتغيير
القيـ المذكورة في الواصفتيف rowspanو colspanفي المثاؿ السابؽ و يالحظوا الفرؽ الحاصؿ
تصور أفضؿ لدييـ كما أظف.
في أحجاـ الخاليا فيذا يساعد كثي اًر في تشكيؿ ّ
ممحوظة :ليطمئف قمبي أحب أف أذكرؾ أنو بإمكانؾ وضع أي مف عناصر HTMLكمحتوى في خاليا الجدوؿ.
النماذج Forms
تستخدـ النماذج Formsفي لغة ّ HTMLلستقباؿ المدخالت Inputsمف المستخدـ بغية عرضيا
أو تخزينيا أو القياـ بعمميات معالجة معينة عمييا ,يتـ إنشاء النماذج باستخداـ الوسميف ><form
و > </formالذاف سيحوياف بينيما مجموعة مف عناصر اإلدخاؿ > <inputمثؿ مربعات
النصوص text boxesو عناصر اّلختيار check boxesو األزرار buttonsو القوائـ
المنسدلة ..select listsإلخ.
يتـ تزويد وسـ بداية عنصر النموذج > <formبواصفتيف أساسيتيف األولى ىي الواصفة actionو
التي تحدد اسـ الممؼ البرمجي الذي سيقوـ بمعالجة البيانات المدخمة في النموذج و يكوف الممؼ
البرمجي مكتوباً بإحدى لغات البرمجة مف طرؼ السيرفر Server Sideمثؿ PHPأو
ASP.NETأو JSPأو ..إلخ (و البرمجة مف طرؼ السيرفر موضوع خارج نطاؽ ىذا الكتاب),
أما الواصفة الثانية فيي الواصفة methodو التي تحدد طريقة إرساؿ البيانات إلى الممؼ البرمجي
ّ
المذكور سابقاً بإحدى طريقتيف:
ٔ -الطريقة األولى ىي الطريقة getحيث يتـ إرساؿ البيانات في شريط العنواف في
المستعرض بعد اسـ الممؼ البرمجي بشكؿ أزواج مفتاح/قيمة ,انظر لمرابط التالي عمى
سبيؿ المثاؿ:
٘ٛ
http://www.site.com/file.php?name=Mukhtar&age=23&job=ComputerEngin
eer
ٕ – الطريقة الثانية ىي الطريقة postحيث يتـ إرساؿ البيانات بشكؿ غير ظاىر في
شريط العنواف (في الحقيقة يتـ إرساليا مع ترويسة طمب .)HTTP
بما أننا -في ىذا الكتاب -سنيتـ بكيفية إنشاء النماذج فقط و لف نناقش كيفية معالجة الطمبات
فبإمكانؾ اآلف تجاىؿ ما تـ ذكره عف الواصفة methodو التركيز عمى كيفية بناء النماذج.
بعد إنشاء العنصر > <formسنقوـ بوضع مجموعة مف عناصر اإلدخاؿ بيف وسمي بدايتو و
سند كقيمة
نيايتو باستخداـ الوسـ > <inputو طبعاً سيتـ تزويد كؿ عنصر إدخاؿ باسـ فريد ُي َ
ثـ سيتـ تحديد نوع عنصر اإلدخاؿ عبر الواصفة typeو الجدوؿ
لمواصفتيف nameو ,idو مف َّ
التالي يوضح القيـ الممكنة و ما يمثمو كؿ منيا:
ٜ٘
اإلدخاؿ كاممةً في النموذج
)زر موافؽ (إرساؿ الطمب submit
مربع إدخاؿ نص text
>input< الخاصة بعنصرtype القيم المختمفة لمواصفة: 3 الجدول
<head>
<title>
</title>
</head>
<body dir="rtl">
: االصم
<br/>
: كهمح انمرور
<br/>
</form>
</body>
</html>
ٙٓ
و التي تبدو عند عرضيا في مستعرض الويب و بعد إدخاؿ بعض البيانات كمايمي:
حسناً الموضوع بسيط كما رأيت ,دعنا نقوـ بتطوير نموذجنا ىذا ليشمؿ مجموعة أخرى مف عناصر
اإلدخاؿ عمى سبيؿ التجربة ,انظر لمشيفرة التالية:
><html
><head
></head
>"<body dir="rtl
><br/
><br/
ٔٙ
" <input type="file" name="picاٌظٛسح اٌشخظ١خ:
>"id="pic
><br/
></form
></body
></html
حسناً ,في الواقع يتـ استعماؿ ىذه العناصر في النماذج بغية تمكيف المستخدـ مف اإلجابة عمى
سؤاؿ محدد و ذلؾ باختيار جواب واحد فقط مف عدة إجابات محتممة (في حالة عنصر )radioأو
اإلجابة عمى سؤاؿ محدد باختيار أكثر مف جواب (في حالة عنصر )checkboxو يتـ استخداـ
ٕٙ
ىذه العناصر بنفس الطريقة السابقة مع ممحوظة إعطاء جميع العناصر التي تمثؿ إجابة لنفس
: لنشاىد المثاؿ التالي,value و قيماً مختمفة لمواصفةname السؤاؿ القيمة ذاتيا لمواصفة
<html>
<head>
</head>
<body dir="rtl">
ذح٠جش
ٟٔٚلغ إٌىزشِٛ
ك٠طذ
ِحشن ثحث
ذ١ج
سؾِٛز
ءٟس
ٖٙ
></form
></body
></html
ىناؾ طريقة أخرى لتحقيؽ شيء مشابو لعنصر radioمف حيث اليدؼ و لكنو يستخدـ في حاؿ
وجود بدائؿ كثيرة (أجوبة كثيرة محتممة لمسؤاؿ) و ىو عنصر القائمة المنسدلة و يتـ تحقيقو عبر
أما عناصر القائمة فيتـ تحقيقيا مف خالؿ الوسـ > <optionو يتـ تحديد أحد
الوسـ >َّ <select
ىذه العناصر كخيار افتراضي عف طريؽ تمرير الواصفة " selected="selectedفي وسـ بدايتو,
لنشاىد المثاؿ التالي:
><html
><head
></head
>"<body dir="rtl
ٗٙ
<form method="post" action="file.php">
<select name="nationality">
<option selected="selected"><صىريا/option>
<option><انعراق/option>
<option><نثىان/option>
<option><فهضطيه/option>
<option><األردن/option>
<option><انمغرب/option>
<option><انجزائر/option>
</select>
</form>
</body>
</html>
ٙ٘
بقي عنصر إدخاؿ أخير لمناقشتو ىنا و ىو العنصر > <textareaو الذي يستخدـ إلدخاؿ قيمة
نصية متعددة األسطر عمى عكس العنصر > <inputمف النوع textو الذي يستخدـ إلدخاؿ قيمة
نصية وحيدة السطر.
يمرر لمعنصر > <textareaقيـ عددية صحيحة عبر الواصفتيف colsو rowsلتحديد عرضو و
ارتفاعو ,انظر الشيفرة التالية:
><html
><head
><title
></title
></head
>"<body dir="rtl
></textarea
></form
></body
></html
ٙٙ
الشكل : 27مثال عمى استخدام العنصر textarea
يمكف تقسيـ عناصر اإلدخاؿ في النماذج الكبيرة إلى أقساـ منطقية يوضع كؿ منيا في إطار
مستقؿ و ىذا ما توفره لغة HTMLباستخداـ الوسميف > <fieldsetو > </fieldsetالمذاف
سيحوياف بينيما مجموعة عناصر اإلدخاؿ و يتـ تزويد كؿ مجموعة بعنواف توضيحي عبر الوسـ
> ,<legendكما يمكف منح كؿ عنصر مف عناصر اإلدخاؿ عنواناً يدؿ عمى ماىيَّة المعمومات
المدخمة فيو عف طريؽ الوسـ > <labelبتمرير اسـ عنصر اإلدخاؿ إلى واصفة forالخاصة
بعنصر العنواف > ,<labelدعنا نشاىد المثاؿ التالي:
><html
><head
><title
></title
></head
ٙٚ
<body dir="rtl">
<fieldset>
<legend><انثياواخ انشخصيح/legend>
<label for="nameTXT"><االصم/label>
<br/><br/>
<label for="ageTXT"><انعمر/label>
</fieldset>
<br/>
<fieldset>
<legend><مهاراخ انعمم/legend>
C#
VB.NET
F#
C++.NET
ٙٛ
></fieldset
><fieldset
></fieldset
></form
></body
></html
اإلطارات Frames
تسمح لؾ لغة HTMLبتضميف صفحات ويب ضمف صفحات أخرى ,و ذلؾ عبر استخداـ
اإلطارات .Frames
ٜٙ
يتـ استعماؿ اإلطارات في الصفحة عمى مرحمتيف ,األولى بإنشاء حاوية اإلطارات باستخداـ الوسـ
> <framesetو الذي يحدد بدايةً عدد اإلطارات التي سيتـ تضمينيا ,و الحجـ الذي سيأخذه كؿ
أما المرحمة الثانية
إطار مف حجـ الصفحة الكمي ,و يتـ تحديد الحجـ بالبكسؿ أو بالنسبة المئويةّ ,
فيتـ فييا إضافة اإلطارات بيف وسمي البداية و النياية لمعنصر > <framesetو ذلؾ باستخداـ
الوسـ > <frameو إسناد مسار الصفحة التي سيحوييا اإلطار لمواصفة , srcلنشاىد المثاؿ
األوؿ بحجـ قدره ٖٓ %مف حجـ الصفحة الكمي و الثاني بالحجـ
التالي لصفحة ويب تضـ إطاريف َّ
الباقي مف الصفحة:
><html
>"*<frameset cols="30%,
><frame src="page_1.htm" /
><frame src="page_2.htm" /
></frameset
></html
ٓٚ
ممحوظة :الصفحة التي تستعمؿ فييا اإلطارات ّل تحوي عمى وسـ >.<body
يمكف أف يقوـ المستخدـ بتغيير حجـ اإلطارات عف طريؽ تحريؾ الخط الفاصؿ بينيما و الظاىر
بوضوح في الشكؿ السابؽ (انظر الشكؿ ,)ٕٜيمكف إلغاء ىذا السموؾ لإلطارات عف طريؽ إضافة
الواصفة " noresize="noresizeإلى وسوـ >.<frame
في المثاؿ السابؽ كانت اإلطارات بشكؿ عمودي و ليذا تـ استعماؿ الواصفة colsمع الوسـ
> ,<framesetو يمكف جعؿ اإلطارات بشكؿ أفقي عف طريؽ استبداؿ الواصفة colsبالواصفة
,rowsلتصبح الصفحة كمايمي في مستعرض الويب:
تذكرة :يمكف جعؿ الرابط يعرض محتواه في إطار معيَّف عف طريؽ إسناد اسـ اإلطار إلى واصفة targetالخاصة
بالرابط >( <aانظر فقرة الروابط التشعبيَّة .)Links
في حيف أف الوسميف > <framesetو > <frameيستخدماف إلنشاء صفحة أـ تضـ مجموعة مف
الصفحات فقط في إطاراتيا فإف لغة HTMLتوفر الوسـ > <iframeلتضميف صفحة ويب في
ٔٚ
صفحة أخرى بشكؿ متناسؽ مع بقية محتوى الصفحة ,و يستخدـ الوسـ > <iframeبالصيغة
التالية:
><iframe src="URL"></iframe
حيث َّ
أف URLىو مسار الصفحة التي سيتـ تضمينيا ,و يمكف ضبط حجـ اإلطار عف طريؽ
الواصفتيف heightو widthبالبكسؿ أو بالنسبة المئوية.
يتـ تحقيؽ عناصر الػ metaمف خالؿ الوسـ metaو بتمرير اسـ nameو محتوى content
لعنصر الػ metaكواصفتيف لو ,و َّ
لعؿ أىـ عنصري metaفي أي صفحة ويب ىما العنصراف
المذاف يحمالف اّلسميف keywordsو ,descriptionو المذاف يستخدماف كمايمي:
><html
><head
ٕٚ
></head
ً س١ىٕ٘ ْٛب><body
َّب
>ِ</bodyحز ٜٛاٌظفحخ إٌٙبئ ٟفؼٍ١
></html
حيث يعرض عنصر الػ Metaذو اّلسـ Keywordsمجموعة مف الكممات المفتاحية التي تظف
أف المستخدميف سيبحثوف عف أحدىا ضمف المستعرض و الموجودة في صفحتؾ ,أما عنصر الػ
Metaذو اّلسـ Descriptionفيحوي وصفاً مختص اًر عف المحتوى الذي تقدمو صفحتؾ.
بالطبع عند عرض ىذه الصفحة في مستعرض الويب ّل تتوقع أف تشاىد محتوى عناصر الػ Meta
فميمة ىذه العناصر كما قمنا ىو تقديـ بيانات عف البيانات الموجودة ضمف صفحتؾ.
ظاى اًر ّ
و بانتياء حديثنا عف عناصر الػ Metaنكوف قد أنيينا -بفضؿ اهلل -مناقشة لغة HTMLبأغمب
وسوميا ,و سنتابع في الصفحات التالية استعراض وسوـ HTMLالعصريَّة و التي تعرؼ باسـ
أما اآلف
, HTML5و لكف قبؿ ذلؾ سنستعرض لغة HTMLالموسَّعة أو ما ُيعرؼ بػ َّ ,XHTML
فأرى أف نعرض جدوّلً بوسوـ HTMLالتقميديَّة ليكوف مرجعاً سريعاً عند الحاجة.
ٖٚ
دليل وسوم HTML
الشرح الوسم
تعميؽ ><!-- … --
لتحديد نوع المستند (سيتـ الحديث عنو عند عرض )XHTML ><!DOCTYPE
رابط تشعبي ><a
اختصار لمصطمح إنجميزي مركب ><abbr
اختصار لمصطمح إنجميزي ><acronym
إضافة معمومات اتصاؿ بمالؾ الصفحة ><address
تضميف تطبيؽ Appletضمف الصفحة ><applet
تعريؼ منطقة ضمف الخريطة الصوريَّة ><area /
نص عريض ><b
تعريؼ بادئة افتراضية لمسارات الروابط ><base /
تعريؼ نوع/لوف/حجـ خط افتراضي لنصوص لمصفحة ><basefont /
تعريؼ اتجاه النص ><bdo
نص كبير الحجـ ><big
> <blockqouteاقتباس طويؿ
جسد الصفحة ><body
سطر جديد ><br /
زر إرساؿ ><button
عنواف الجدوؿ ><caption
لتوسيط المحتوى ><center
اقتباس متوسط ><cite
شيفرة برمجية ><code
تعريؼ واصفات مشتركة ألعمدة الجدوؿ ><col /
تعريؼ مجموعة مف أعمدة الجدوؿ لتطبيؽ واصفات مشتركة عمييا ><colgroup
ٗٚ
وصؼ لمصطمح ضمف قائمة المصطمحات ><dd
نص مشطوب ><del
تعريؼ مصطمح ضمف قائمة المصطمحات ><dfn
قائمة مجمدات ><dir
قسـ مف المستند ><div
قائمة المصطمحات ><dl
عنصر قائمة خاص بقائمة المصطمحات ><dt
نص مشدد عميو ><em
مجموعة حقوؿ في نموذج ><fieldset
تعريؼ حجـ/نوع/لوف الخط لنص معيف ><font
نموذج ><form
إطار ><frame /
مجموعة إطارات ><frameset
> <h1إلى > <h6عناصر العناويف
رأس المستند ><head
خط أفقي ><hr /
عنصر بداية المستند ><html
مائؿ ><i
إطار كعنصر مف عناصر الصفحة ><iframe
صورة ><img /
عنصر إدخاؿ ><input /
نص تحتو خط ><ins
إنشاء فيرس قابؿ لمبحث يتعمؽ بالصفحة ><isindex
نص بخط حاسوبي برمجي ><kbd
عنواف لعنصر ما ><label
٘ٚ
عنواف لمجموعة عناصر اإلدخاؿ ><fieldset ><legeng
عنصر القائمة ><li
ربط المستند بمستند آخر (سيمر معنا أحد استعماّلتو في الفصؿ الثاني) ><link /
تعريؼ خريطة صورية ><map
تعريؼ قائمة ><menu
بيانات تعريفية عف ماىيَّة محتوى المستند ><meta /
إلنشاء بديؿ لمحتوى اإلطار في المستعرضات التي ّل تدعـ اإلطارات ><noframes
إلنشار بديؿ لمحتوى السكربت في المستعرضات التي ّل تدعـ السكربت ><noscript
تضميف كائف برمجي ><object
قائمة مرتبة ><ol
مجموعة مف الخيارات المرتبطة منطقياً ضمف خيارات القائمة المنسدلة ><optgroup
خيار في قائمة منسدلة ><option
نص ><p
وسيط لمكائف البرمجي ><param /
نص منسؽ مسبقاً ><pre
اقتباس قصير ><q
نص مشطوب ><s
نموذج لشيفرة برمجية ><samp
سكربت برمجي ( Java Scriptأو jQueryغالباً) ><script
قائمة منسدلة ><select
نص صغير الحجـ ><small
تعريؼ قسـ سطري مف المستند ><span
نص مشطوب ><strike
نص عريض ><strong
تعريؼ ورقة أنماط (يناقش في الفصؿ القادـ بالتفصيؿ) ><style
ٚٙ
نص سفمي ><sub
نص عموي ><sup
جدوؿ ><table
جسد الجدوؿ ><tbody
خمية بيانات جدوؿ ><td
عنصر إدخاؿ نص متعدد األسطر ><textarea
ذيؿ الجدوؿ ><tfoot
خمية عنواف رأس الجدوؿ ><th
رأس الجدوؿ ><thead
عنواف المستند ><title
سطر الجدوؿ ><tr
نص teletype ><tt
نص تحتو خط ><u
قائمة غير مرتبة ><ul
جزء متغير مف النص ><var
نص بتنسيؽ مسبؽ ><xmp
الجدول : 4دليل وسوم HTML
ٚٚ
XHTML
َّ
إف XHTMLىي اختصار لػ eXtensible HTMLو التي تعني HTMLالقابمة لمتوسُّع (البعض
يدعوىا HTMLالموسَّعة) ,و ىي ّل تختمؼ عف HTMLالتقميديَّة مف ناحية الوسوـ و ّل مف
ناحية الواصفات ,و لكف ببساطة يمكف اعتبارىا معايير أكثر صرامةً لكتابة مستندات HTML
بشكؿ يتوافؽ و قواعد لغة ,)eXtensible Markup Language( XMLو ىذا ما يعطي
صفحاتنا توافقيَّة أكبر مع مستعرضات الويب ,كما يدؿ اّللتزاـ بمعايير XHTMLعمى احترافية
كمطوري ويب -أف يبقى محصو اًر في مستعرض الويب
أكبر في العمؿ ,و بالطبع ّل أريد لتفكيرنا ِّ -
الخاص بالحاسوب ,فمنف ِّكر في مستعرضات الويب الخاصة باليواتؼ الذكيَّة أو باألجيزة الصغيرة
األخرى و لنسأؿ أنفسنا :ىؿ ستبدو صفحاتنا كما نريد عمى كؿ مستعرضات الويب؟ ,ىذا ما تحاوؿ
XHTMLاإلجابة عنو.
ففي حيف أف شبكة اّلنترنت تحوي مميارات صفحات الويب فثَ َّمةَ نسبة كبيرة مف ىذه الصفحات
مكتوبة بشكؿ رديء -لألسؼ -يشبو مايمي عمى سبيؿ المثاؿ:
><hTml
><heaD
><BODY
<h1>Bad HTML
<p>This is a paragraph
></boDy
ٚٛ
قواعد XHTML
تنص معايير XHTMLعمى أف كؿ صفحات الويب يجب أف تحوي في أوؿ سطر منيا عمى
سطر التعريؼ > <!DOCTYPEو الذي يعني تعريؼ نوع المستند Document Type
Definitionأو DTDاختصا اًر ,و ذلؾ أف مستعرضات الويب تستخدـ ىذا السطر كمرجعيَّة
قواعديَّة لصيغة الكتابة و ألنواع الوسوـ في الصفحة ,إضافة إلى استخداميا الواصفة xmlns
الخاصة بوسـ البداية > <htmlو التي تصؼ فضاء أسماء Name Spaceالصفحة.
تعرض الشيفرة التالية عنصر تعريؼ نوع المستند الذي تصادفو في أغمب صفحات XHTMLو
الذي يجب أف تكتبو كأوؿ سطر مف صفحتؾ إضافةً لمواصفة ,xmlnsو بيذا يصبح الشكؿ العاـ
لمستند XHTMLكمايمي:
٘
َّ
إف أغمب ما سيتـ ذكره مف القواعد كاف قد مر معنا في الصفحات السابقة عمى شكؿ ممحوظات.
ٜٚ
"<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN
>""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
>"<html xmlns="http://www.w3.org/1999/xhtml
></html
ممحوظة <!DOCTYPE> :ليس وسماً مف وسوـ المغة و َّإنما ىو سطر تعريؼ المستند.
يحوي ىذا النوع جميع وسوـ HTMLعدا الوسوـ > <appletو > <basefontو
> <centerو > <dirو > <fontو > <iframeو > <isindexو > <menuو
> <noframesو > <sو > <strikeو > ,<uو ّل يسمح ىذا النوع باستخداـ إطارات
> ,<framesetو سطر تعريؼ المستند مف ىذا النوع ىو:
ٓٛ
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
>"transitional.dtd
يحوي جميع وسوـ HTMLو يسمح باستخداـ اإلطارات ,و سطر تعريؼ المستند مف ىذا
النوع ىو:
http://www.w3schools.com/xhtml/default.asp
ممحوظة :يعكس وضع رابط التحقؽ مف مطابقة الصفحة لمعايير XHTMLفي صفحتؾ نوع ًا مف الثقة بقدراتؾ
البرمجية باعتقادي.
ٔٛ
HTML5
ظيرت لغة HTMLالتي شرحناىا في الصفحات السابقة (المعروفة في األوساط التقنية باإلصدار
)HTML 4.01في عاـ ٜٜٜٔـ ,و في الحقيقة فإف تطورات كثيرة حصمت عمى مفيوـ الويب منذ
ذلؾ الحيف إلى يومنا ىذا ,و أصبحنا نسمع بما يعرؼ بالػ ,Web 2.0كما أصبح مف النادر أف
نجد موقع ويب (أعني المواقع الجيدة) ّل يقدـ خدمات مثؿ تشغيؿ الفيديو و الصوت و غير ذلؾ,
و ىذا ما استوجب تطوير إصدار جديد مف لغة HTMLبإضافة مجموعة جديدة مف الوسوـ و
الواصفات إلى المغة القديمة ليظير اإلصدار الجديد باّلسـ .HTML 5
و مف الميزات الجديدة التي جاءت بمجيء HTML 5ظيور وسوـ خاصة لعرض الفيديو و
الصوت و وسوـ خاصة لكتابة المقاّلت أو األخبار و وسوـ خاصة لمرسـ إضافةً إلى إضافة
مجموعة جديدة مف عناصر اإلدخاؿ الخاصة بالنماذج و غير ذلؾ مما سيعرض في الفقرات
القادمة.
ألف HTML 5ظيرت منذ فترة قصيرة نسبياً (بدأ العمؿ عمى وضع معاييرىا عاـ )ٕٓٓٙفإف
معظـ مستعرضات الويب القديمة ّل تدعميا لألسؼ ,و لكف المستعرضات الجديدة ستدعميا بكؿ
تأكيد ,فػ - HTML 5برأيي -ستكوف لغة بناء صفحات الويب المعيارية في المستقبؿ القريب و
ليذا فقد بدأت بعض المستعرضات بدعيما فعالً مثؿ اإلصدارات األخيرة مف مستعرضات:
ٙ
Google Chromeو Firefoxو Operaو Internet Explorerو .Safari
المغة الرسمية لتطوير الصفحات فيناؾ عشرات مستعرضات الويب األخرى كاؼ لجعؿ HTML 5
ّ ٙل تعتقد أف دعـ ىذه المستعرضات ٍ
و التي تستخدميا نسبة مرتفعة مف مستخدمي اّلنترنت اإلجمالييف.
ٕٛ
عنصر الفيديو Video
تقدـ HTML 5آلية بسيطة لعرض ممفات الفيديو ضمف صفحة الويب باستخداـ العنصر الجديد
> ,<videoو يتـ ذلؾ بإسناد القيـ المناسبة إلى واصفتي اّلرتفاع heightو العرض width
ثـ تمرير مسار ممؼ الفيديو عبر العنصر اّلبف > <sourceكقيمة لواصفتو
الخاصة بو و مف َّ
srcو تمرير نوع ممؼ الفيديو عبر الواصفة ,typeلنشاىد الشيفرة التالية عمى سبيؿ المثاؿ:
><html
><head
><title
></title
></head
><body
></video
></body
></html
يظير المحتوى النصي (الموجود بيف وسمي البداية و النياية لمعنصر > )<videoفي
أما في المستعرضات الداعمة ليا فستبدو صفحتنا كمايمي:
المستعرضات التي ّل تدعـ َّ ,HTML 5
ٖٛ
الشكل :31عنصر عرض الفيديو الجديد كما يبدو في مستعرض جوجل كروم
ممحوظة :إلى ىذه المحظة فإف العنصر > <videoيدعـ تشغيؿ ثالثة أنواع مف صيغ الفيديو و ىي الصيغ
MPEG4و Oggو .WebM
ٗٛ
عنصر الصوت Audio
تتيح HTML 5عرض ممفات الصوت ضمف صفحة الويب ببساطة شديدة مف خالؿ العنصر
> <audioو الذي يستخدـ بطريقة مشابية لعنصر عرض الفيديو كمايمي:
><html
><head
></head
><body
>"<audio controls="controls
></audio
></body
></html
الشكل : 32عنصر عرض الصوت الجديد كما يبدو في مستعرض جوجل كروم
٘ٛ
أما في المستعرضات التي ّل تدعـ ىذا العنصر فسيظير النص المذكور بيف وسمي البداية و
َّ
النياية لمعنصر > <audioو الذي يحوي رسالة اّلعتذار.
ممحوظة :إلى ىذه المحظة فإف العنصر > <audioيدعـ تشغيؿ ثالث صيغ لممفات الصوت ىي MP3و Oggو
.Wav
تقدـ HTML 5مجموعة جديدة مف عناصر اإلدخاؿ الخاصة بالنماذج Formsباإلضافة إلى
مجموعة جديدة مف أنواع عنصر اإلدخاؿ التقميدي > ,<inputو سنبدأ حديثنا بالحديث عف األنواع
الجديدة لمعنصر > <inputو التي يعرضيا الجدوؿ التالي:
ٛٙ
عنصر خاص إلدخاؿ قيمة محصورة بمجاؿ معيَّف سمفاً ,و يظير ىذا range
العنصر عمى شكؿ شريط تمرير
عنصر إلدخاؿ التاريخ (يوـ/شير/سنة) date
عنصر إلدخاؿ التاريخ (شير/سنة) month
عنصر إلدخاؿ التاريخ و يستخدـ لتحديد أسبوع مف السنة week
عنصر إلدخاؿ الوقت (ساعة/دقيقة) time
عنصر إلدخاؿ التاريخ و الوقت (الساعة/اليوـ/الشير/السنة) ,بالتوقيت datetime
العالمي
عنصر إلدخاؿ التاريخ و الوقت ,بالتوقيت المحمي datetime-local
عنصر لعرض مربع البحث و ىو شبيو بالنوع text search
عنصر إلدخاؿ القيـ المونيَّة color
الجدول : 7أنواع عناصر اإلدخال الجديدة في HTML 5
><!DOCTYPE HTML
><html
><body
Name:
E-Mail:
Website:
Points:
ٛٚ
"<input type="range" name="points" min="1
>max="10" /><br /
Date:
></form
></body
></html
باإلضافة لما سبؽ ذكره تقدـ HTML5مجموعة مف وسوـ النماذج الجديدة و منيا الوسـ
> <datalistو الذي يستخدـ إلنشاء القوائـ المنسدلة كخيارات إدخاؿ افتراضيَّة ألحد عناصر
اإلدخاؿ الموجودة و ُينشأ محتوى القائمة بالتعاوف مع وسـ > <optionو بطريقة مشابية لمعنصر
القديـ > ,<selectكما يتـ تمرير اسـ قائمة الخيارات اّلفتراضية (عنصر > )<datalistلعنصر
اإلدخاؿ عبر الواصفة الجديدة ,listلنشاىد المثاؿ التالي:
ٛٛ
<!DOCTYPE HTML>
<html>
<body>
name:
<datalist id="names_list">
</datalist>
</form>
</body>
</html>
حيث,<output> < وkeygen> أيضاً العنصرافHTML5 مف العناصر الجديدة التي قدمتيا
< في عمميات تسجيؿ الدخوؿ و التحقؽ مف المستخدميفkeygen> يستخدـ العنصر
مفتاح خصوصي) يرسؿ مع/ و ذلؾ عبر توليد زوج مفاتيح (مفتاح عموميAuthentication
: و يستخدـ بالشكؿ,الطمب دوف تدخؿ المستخدـ
مف أنواع مختمفة مثؿ نتائجOutputs < فيستخدـ لعرض مخرجاتoutput> أما العنصر
: كمايميJava Script عادة مف أحد توابع
َ الم
ُ الحسابات أو القيـ
<output id="result" onforminput="resCalc()"></output>
ٜٛ
رسم Canvas
الم َ
عنصر َ
تقدـ HTML 5عنصر المرسـ > <Canvasو الذي يتيح لؾ الرسـ ضمف صفحة الويب باستخداـ
ٚ Java Scriptو بذلؾ تستغني عف أية إضافات خارجية Pluginsكإضافات الػ Flashعمى
سبيؿ المثاؿ.
ّلستخداـ عنصر المرسـ يتـ إنشاؤه أوّلً بارتفاع heightو عرض widthمحدديف كمايمي:
>"<script type="text/javascript
;)"var c=document.getElementById("myCanvas
;)"var cxt=c.getContext("2d
;"cxt.fillStyle="#FF0000
;)cxt.fillRect(0,0,150,75
></script
حيث قمنا أوّلً بتحديد عنصر المرسـ عف طريؽ الػ idالخاص بو و ذلؾ في السطر:
;)"var c=document.getElementById("myCanvas
ثـ قمنا بإنشاء كائف Objectمف المرسـ و ىيأناه لمرسـ ثنائي األبعاد 2Dفي السطر التالي:
َّ
;)"var cxt=c.getContext("2d
اآلف و لمقياـ بالرسـ سيتـ استدعاء طرؽ Methodsالكائف cxtالذي تـ إنشاؤه قبؿ قميؿ بالشكؿ:
;"cxt.fillStyle="#FF0000
;)cxt.fillRect(0,0,150,75
في مرجع آخر فيي خارج نطاؽ ىذا الكتاب و لكنني سأحاوؿ شرح استخداميا في األمثمة. ٚيمكنؾ قراءة المزيد عف Java Script
ٜٓ
ففي السطر األوؿ تـ تحديد الموف األحمر لوناً لمشكؿ الذي سيتـ رسمو (ىذا ما تعنيو القيمة
ٛ
ثـ تـ رسـ المربع بتمرير إحداثيات ركنيو األيسر العموي و األيمف السفمي بشكؿ
َّ , )#FF0000
مشابو لما فعمناه عند تحديد مناطؽ الخريطة الصورية (انظر فقرة الخرائط الصورية).
><!DOCTYPE HTML
><html
><body
></canvas
>"<script type="text/javascript
;)"var c=document.getElementById("myCanvas
;)"var cxt=c.getContext("2d
;"cxt.fillStyle="#FF0000
;)cxt.fillRect(0,0,150,75
></script
></body
></html
ٜٔ
مثال الوظيفة الطريقة
;"cxt.fillStyle="#FF0000 تحديد لوف التعبئة fillStyle
;)cxt.fillRect(0,0,150,75 رسـ مستطيؿ fillRect
;)cxt.moveTo(10,10 مبدأ إزاحة moveTo
اإلحداثيات
cxt. createLinearGradientإنشاء تدرج لوني
)createLinearGradient(0,0,170,50
;)"cxt .addColorStop(0,"#FF0000 إلى لوف إضافة addColorStop
التدرج الموف
;)cxt.drawImage(img,0,0 لرسـ صورة drawImage
;)cxt.lineTo(150,50 لرسـ خط مستقيـ lineTo
الجدول : 8بعض طرق كائن العنصر ><canvas
تتيح HTML 5كائنيف مختمفتيف لتخزيف البيانات مف طرؼ العميؿ Clientو ىما:
ٔ .الكائف :localStorageيستخدـ ىذا الكائف لتخزيف البيانات مف طرؼ العميؿ لفترة غير
محدودة و يستخدـ الصيغة العامة التالية لمتخزيف:
;"localStorage.varName="value
حيث أف varNameىو اسـ المتغير و valueىي قيمة ىذا المتغير و يمكف استرجاع
قيمة المتغير بالصيغة العامة التالية:
;localStorage.varName
ٕ .الكائف :sessionStorageيستخدـ ىذا الكائف لتخزيف البيانات مف طرؼ العميؿ لفترة
محددة بجمسة واحدة فقط ,و يستخدـ الصيغة العامة التالية لمتخزيف:
ٕٜ
;"sessionStorage.varName="value
حيث أف varNameىو اسـ المتغير و valueىي قيمة ىذا المتغير و يمكف استرجاع
قيمة المتغير بالصيغة العامة التالية:
;sessionStorage.varName
ممحوظة :ىذاف الكائناف يستخدماف كمخازف خاصة لمبيانات أثناء كتابة شيفرات .Java Script
ختاماً ليذا الفصؿ نعرض فيمايمي جدوّلً بالوسوـ الجديدة في :HTML 5
الشرح الوسم
مقالة ><article
جانب مف محتويات الموقع ><aside
لتشغيؿ ممفات الصوت ><audio
لمرسـ برمجياً ><canvas
> <commandزر أوامر
قائمة خيارات افتراضية لعنصر إدخاؿ ><datalist
تفاصيؿ عنصر ما ><details
تضميف عنصر تفاعمي أو pluginخارجي ><embed
> <figcaptionعنواف عنصر ><figure
مجموعة مف عناصر الوسائط ><figure
ذيؿ منطقة مف مناطؽ الصفحة ><footer
رأس منطقة مف مناطؽ الصفحة ><header
معمومات عف قسـ مف المستند ><hgroup
توليد مفاتيح التحقؽ في النموذج ><keygen
نص مميز ><mark
ٖٜ
قياسات محصورة بمدى محدد مسبقاً ><meter
روابط تشعبية ><nav
عرض خرج مف نوع ما ><output
تقدـ لميمة مف نوع ما
شريط ّ ><progress
يستخدـ لغة Rubyلمتصريح عف ما سيتـ عرضو في حالة كوف المستعرض ّل ><rp
يدعـ عنصر Ruby
شرح لما تـ التصريح عنو باستخداـ عنصر Ruby ><rt
عنصر Ruby ><ruby
قسـ مف المستند ><section
لتعريؼ مصادر الوسائط ><source
يعرؼ ترويسة العنصر detail ><summary
التاريخ/الوقت ><time
لعرض عناصر الفيديو ><video
سطر جديد محتمؿ ><wbr
الجدول : 9دليل الوسوم الجديدة في HTML 5
ٜٗ
الفصؿ الثاني
CSS 3
ٜ٘
ٜٙ
مقدمة
نتطرؽ َّ
تعممنا في الفصؿ الماضي كيفيَّة كتابة مستندات الويب باستخداـ لغة HTML5و لكننا لـ ّ
لنواحي كثيرة تتعمؽ بمظير و تنسيؽ تمؾ المستندات ,و في الحقيقة فقد كاف ىذا األمر مقصوداً
ميمة أوراؽ األنماط اّلنسيابيَّة CSSالتي يناقش ىذا
ألف ما يتعمؽ بالشكؿ و المظير ىو مف ّ
الفصؿ أحدث إصداراتيا و الذي يعرؼ بػ ,CSS3و لكننا -في واقع األمرّ -ل نستطيع أف
نتحدث مباشرةً عف CSS3لذلؾ سنتحدث قبؿ ذلؾ عف CSSالتقميدية.
ّ
ما هي CSS؟
ت إف CSSىي اختصار لألحرؼ األولى مف الجممة Cascading Style Sheetو التي تُ ِ
رج َم ْ
عمى أنيا "أوراؽ األنماط اّلنسيابيَّة" ,ٜففي حيف أف HTMLتيتـ بوصؼ عناصر مستندات الويب
فإف CSSتيتـ بوصؼ شكؿ و مظير ىذه العناصر ,و قد كاف ظيور أوراؽ األنماط اّلنسيابية
مطوري الويب لسنوات قبؿ ظيورىا ,و
الماحؽ الرئيسي لمشكمة مف أكبر المشاكؿ التي واجيت ِّ
الفقرة التالية تعرض ىذه المشكمة.
عندما تـ تصميـ لغة HTMLكاف التركيز األكبر عمى تصميـ لغة تصؼ عناصر صفحات الويب
فقط ,و لـ يكف ىناؾ أي توجو لدى مصممي HTMLأف تيتـ لغتيـ بمظير و شكؿ المحتوى
َّ
المقدـ ,و تُِرَك ْ
ت ىذه الميمة لمصممي مستعرضات الويب ,حيث كاف -و ما يزاؿ -كؿ مستعرض
مف مستعرضات الويب يعرض كؿ عنصر مف عناصر صفحة الويب بمظير افتراضي خاص بو
حسبما رأى مصممو المستعرض و بغض النظر عف رغبة مصمـ الصفحة.
ٜ
ىذه الترجمة ىي الغالبة عمى المراجع العربية.
ٜٚ
تـ التنبو ليذه النقطة ّلحقاً فأضيفت وسوـ جديدة تيتـ بالتنسيؽ و مف أمثمتيا الوسـ > <fontالذي
يستخدـ لعرض نص بنوع خط (بنط)ٓٔ Fontو حجـ و لوف محدد ضمف الصفحة ,و كاف ىذا
شيئاً جميالً في أوؿ األمر لكنو سرعاف ما تحوؿ لكارثة بالنسبة لمطوري الويب ,فقد كاف ىناؾ
بعض المواقع التي يصؿ عدد صفحاتيا إلى مئات أو آّلؼ الصفحات أحياناً ,مما يعني أف عممية
تنسيؽ ىذه الصفحات تحتاج لوقت و جيد كبيريف ,ناىيؾ عف الحاجة إلى التركيز الشديد في ضبط
خصائص الوسوـ المذكورة سابقاً لمحصوؿ عمى صفحات بألواف و أحجاـ و أنواع خطوط موحدة و
متجانسة ,لكف و مف حسف الحظ فقد تالشت ىذه المشكمة مع ظيور .CSS
و ىذه الطريقة غير مفضمة -بالنسبة لي -ألنيا تعيدنا لمشاكؿ ما قبؿ .CSS
إلى "بنط" لكنيا وردت ىكذا في معجـ مصطمحات المعموماتية الصادر عف الجمعية العممية السورية ٓٔ مع عدـ اقتناعي بترجمة font
في كتابي ىذا. لممعموماتية و سأسمح لنفسي باستخداـ "خط" كترجمة لػ font
ٜٛ
يتـ كتابة شيفرة CSSفي منطقة الػ Headمف الصفحة بيف وسمي > <styleو
> </styleلتصبح الصفحة بالشكؿ:
><html
><head
>"<style type="text/css
></style
></head
><body
></body
></html
و تعتبر ىذه الطريقة جيدة لممواقع ذات العدد المحدود مف الصفحات أما بالنسبة لممواقع
المتوسطة و الكبيرة فأفضؿ استخداـ الطريقة الثالثة.
><html
><head
></head
ٜٜ
>ِ</bodyحز ٜٛاٌظفحخ ٕ٘ب><body
></html
شيفرات CSS
تتكوف شيفرة CSSمف مجموعة مف القواعد ,Rulesتصؼ كؿ قاعدة منيا مظير عنصر أو
مجموعة مف العناصر في الصفحة ,و الشكؿ العاـ لقاعدة CSSىو:
{ selector
;property:value
;property:value
;property:value
…
}
و ىذا ما يقوـ بتطبيؽ جميع خصائص المظير المذكورة بيف القوسيف { و } عمى كافة عناصر
الم َح ِّدد .selector
الصفحة التي تطابؽ ُ
ممحوظة :كما يبدو مف اسميا فالمحددات تستخدـ لتحديد عنصر أو مجموعة عناصر مف صفحة الويب بغية تطبيؽ
الم َح ِّدد في أبسط حاّلتو اسماً ألحد وسوـ الم َح ِّددات كثيرة و ِّ
متنوعة في CSSفقد يكوف ُ قواعد CSSعمييا ,و ُ
الم َح ِّدد idلعنصر ما مثؿ #link1أو #header1أو #searchForm HTMLمثؿ h1أو aأو ,pو قد يكوف ُ
الم ِّ
حددات بشكؿ ضمني في الفقرات التالية كما سيتـ عرض و قد يكوف غير ذلؾ ,و بالطبع سيتـ شرح مجموعة مف ُ
جدوؿ بكافة المحددات مع معانييا في نياية الفصؿ.
;property:value
ٓٓٔ
حيث أف propertyىي اسـ خاصية المظير و valueىي قيمة الخاصية ,و ينتيي تعريؼ
الخاصية بالفاصمة المنقوطة ,و سنبدأ باستعراض كافة الخصائص اعتبا اًر مف الفقرة التالية.
ِ
تذكرة :كػ HTMLفإف ّ CSSل تعطي أي قيمة لمحارؼ الفراغات و إنما يتـ استخداميا لغرض تسييؿ قراءة
الشيفرة فقط.
};h1 {text-align:center
حيث أف المحدد h1يعني جميع عناصر > <h1في المستند ,و يمكف إسناد القيمة right
إلى الخاصية text-alignلمحاذاة النص لميميف أو leftلمحاذاة النص لميسار أو center
لتوسيط النص أو justifyلجعؿ جميع أسطر الفقرة متساوية العرض .width
};p a {text-decoration:overline
حيث أف المحدد p aيعني جميع عناصر الروابط > <aالموجودة ضمف أي مف عناصر
الفقرات > <pفي المستند ,و القيمة overlineتعني عرض خط أعمى النصوص ,و يمكف
إسناد القيـ التالية none :إللغاء التزييف أو underlineلعرض خط أسفؿ النص أو
line-throughلشطب النص.
عمى أنيا "أثاث" و ليذا أوردت التأثيث بيف قوسيف ,عمماً أنني أرى أف التزييف ىي الترجمة األنسب. ٔٔ ىـ يعربوف Decor
ٔٓٔ
};p {direction:rtl
لجعؿ اتجاه القراءة مف اليميف إلى اليسار و ىذا ما تعنيو القيمة ( rtlاختصا اًر لػ right to
,)leftو يمكف جعؿ اتجاه القراءة مف اليسار لميميف بإسناد القيمة ltrإلى الواصفة
.direction
};p {text-transformation:uppercase
لجعؿ جميع أحرؼ عناصر > <pبحالة الحرؼ الكبيرٕٔ ,و يمكف أف تأخذ ىذه الخاصية
القيـ uppercaseلمحروؼ الكبيرة أو lowercaseلمحروؼ الصغيرة أو capitalize
لجعؿ الحرؼ األوؿ فقط مف كؿ كممة حرفاً كبي اًر.
};p {text-indent:20px
إلزاحة أوؿ كممة مف المقطع بمقدار ٕٓ بكسؿ ,و اإلزاحة غالباً ما تستخدـ مع بداية فقرات
المغة اإلنجميزيَّة.
};p {color:red
حيث أف المحدد pيعني جميع العناصر > <pالموجودة في الصفحة ,و يتـ إسناد الموف
لمخاصية colorإما بإسناد اسـ الموف بالمغة اإلنجميزية مثؿ redأو greenأو white
..إلخ ,أو بإسناد قيمة الموف بالنظاـ الست عشري Hexadecimalمثؿ #FF0000أو
في ٕٔ ىناؾ لغات تعطي أكثر مف رسـ لنفس الحرؼ فمثالً الحرؼ األوؿ في اإلنجميزية يرسـ Aإذا كاف في حالة الحرؼ الكبير و a
حالة الحرؼ الصغير.
ٕٓٔ
#00FC00أو .. #FFFFFFإلخ ,أو بإسناد قيمة الموف عبر التابع rgbبالشكؿ
) rgb(255,0,0أو ) rgb(0,255,0أو ).. rgb(255,255,255إلخ.
توضيح :يتشكؿ كؿ لوف مف مزج ثالثة ألواف ىي األحمر و األخضر و األزرؽ ,و تختمؼ األلواف عف
بعضيا باختالؼ نسبة كؿ مف األحمر/األخضر/األزرؽ فييا ,و في حالة تمثيؿ الموف بالنظاـ الست
عشري يتـ اعتبار أوؿ خانتيف تمثالف درجة الموف األحمر ,و يتـ اعتبار ثاني خانتيف تمثالف درجة الموف
األخضر ,و يتـ اعتبار ثالث خانتيف تمثالف درجة الموف األزرؽ ,و بالطبع تتدرج قيـ كؿ خانة بيف 00
كأدنى قيمة و FFكأعمى قيمة ,فعمى سبيؿ المثاؿ لمحصوؿ عمى الموف البنفسجي يجب مزج المونيف
األزرؽ و األحمر دوف أي نسبة مف الموف األخضر و بيذا تصبح قيمة الموف البنفسجي #FF00FFو
يمكف التحكـ بتدرج الموف عبر تخفيؼ درجة األحمر و األزرؽ لتصبحا عمى سبيؿ المثاؿ #8B008Bو
ىكذا ,أما في حالة تمثيؿ الموف عبر التابع rgbفتمثؿ الخانة األولى الموف األحمر ,و تمثؿ الثانية الموف
األخضر ,و تمثؿ الثالثة الموف األزرؽ لكف قيمة كؿ خانة تتدرج بيف 0كحد أدنى و 255كحد أقصى.
><html
><head
><title
></title
>"<style type="text/css
{ p
;text-align:justify
;color:#ff0000
;text-decoration:underline
;direction:rtl
}
ٖٓٔ
></style
></head
><body
><p
></p
></body
></html
ٗٓٔ
خصائص الخطوط Fonts
توفر CSSمجموعة مف الخصائص لمتحكـ بالخطوط ,Fontsو يتـ التعامؿ مع الخطوط في
CSSعمى شكؿ مجموعات تدعى كؿ منيا بػ"عائمة خطوط" ,font-familyحيث يتـ إسناد خط
يتيـٖٔ أو أسماء أكثر مف خط مفصولة بفواصؿ commaإلى الخاصية font-familyو يكوف
الخط األوؿ ىو الخط اّلفتراضي ,و في الحالة التي يتعذر عمى المستعرض فييا العثور عمى الخط
اّلفتراضي فإنو يجعؿ الخط التالي ىو اّلفتراضي و ىكذا.
><html
><head
><title
></title
>"<style type="text/css
ٖٔ
اجترحت مصطمح الخط اليتيـ لمحالة التي تكوف فييا عائمة الخطوط مكونة مف خط واحد.
٘ٓٔ
p {
font-family:"Tahoma","Simplified Arabic",sans-serif;
font-size:1.5em;
font-style:italic;
direction:rtl;
</style>
</head>
<body>
<p>
ساقٚ أٟؽ فٛإْ ٘زٖ اٌظفحخ ػجبسح ػٓ طفحخ اخزجبس ٌخظبئض اٌخـ
.خ١بث١األّٔبؽ االٔس
</p>
</body>
</html>
ٔٓٙ
ممحوظة :لـ نضع عالمتي اقتباس حوؿ القيمة sans-serifألننا نقصد عائمة الخطوط اّلفتراضية و التي تحمؿ
اسـ .sans-serif
في الحقيقة ّل توجد خصائص خاصة لمظير الروابط ,و لكف توجد محددات خاصة لمروابط
تستخدـ لتنسيؽ مظير الرابط في حاّلتو المختمفة ,و المحددات ىي:
a:link و الذي يستخدـ لتنسيؽ مظير ال اربط في حالتو العادية و ىو مكافئ لممحدد aإذا
استُ ِ
خد َـ وحده.
a:visited و الذي يستخدـ لتنسيؽ مظير الرابط الذي تـ النقر عميو مسبقاً.
a:hove و الذي يستخدـ لتنسيؽ مظير الرابط عندما مرور ِّ
مؤشر الفأرة عميو.
a:active و الذي يستخدـ لتنسيؽ مظير الرابط لحظة النقر عميو.
><html
><head
><title
></title
>"<style type="text/css
};a:link{text-decoration:none;color:blue
};a:visited{color:green
};a:hover{text-decoration:underline
};a:active{font-size:120%
></style
ٔٓٚ
></head
><body
></body
></html
الشكل : 36هكذا تبدو صفحة اختبار مظهر الروابط لحظة النقر عمى الرابط الثالث و بعد زيارة الثاني
ممحوظة :يجب ذكر قاعدة a:hoverبعد a:linkو ,a:visitedكما يجب ذكر a:activeبعد .a:hover
توفر CSSمجموعة مف الخصائص لتنسيؽ خمفيات العناصر ,نبدأ استعراضيا بالحديث عف
الخاصية background-colorو التي تستخدـ لتحديد خمفية لونيَّة ألحد العناصر بإسناد قيمة
الموف إلييا بالشكؿ:
ٔٓٛ
;background-color:#CF1A11
و يمكف تعييف صورة كخمفية ألحد العناصر عبر إسناد مسار الصورة لمخاصية background-
imageبالشكؿ:
;)’background-image:url(‘image.jpg
و في حاؿ كوف حجـ الصورة (الخمفيَّة) أصغر مف حجـ العنصر يتـ تحديد طريقة تكرار الصورة
عبر الخاصة background-repeatفيتـ إسناد القيمة repeat-xلتكرار الصورة بشكؿ أفقي أو
القيمة repeat-yلتكرار الصورة بشكؿ عمودي أو repeatلتكرارىا بشكؿ أفقي و عمودي معاً أو
no-repeatلعدـ التكرار و ىذا في الحالة األولى ,أما في الحالة الثانية فيمكف عدـ تكرار الصورة
و تحديد موضعيا عف طريؽ الخاصية background-positionحيث يتـ إسناد واحدة أو أكثر
مف القيـ left topأو left centerأو left bottomأو center topأو center centerأو
center bottomأو right topأو right centerأو ,right bottomلنشاىد المثاؿ التالي و
الذي سنعرض فيو عنصريف > <pاألوؿ بخمفية لونية و اآلخر بخمفية صورية:
><html
><head
><title
></title
>"<style type="text/css
{ .firstP
;background-color:black
;color:white
}
{ .secondP
ٜٔٓ
;)’background-image:url(‘image1.jpg
;background-repeat:no-repeat
;background-position:center center
}
};p {direction:rtl
></style
></head
><body
>"<p class="firstP
></p
>"<p class="secondP
><br/
></p
></body
></html
ممحوظة :ىناؾ طريقة خاصة لتحديد العناصر تعرؼ باسـ التحديد بالفئات classesحيث يتـ استبداؿ المحدد بأي
اسـ مسبوقاً بنقطة و ىذا ما يعرؼ بتعريؼ الفئة classفي ,CSSبعد ذلؾ يتـ إسناد اسـ ىذه الفئة (دوف نقطة)
إلى الواصفة classلمعناصر التي نرغب بجعؿ مظيرىا مطابقاً لمخصائص المذكورة في قاعدة الفئة.
ٓٔٔ
الشكل : 37هكذا تبدو صفحة اختبار خصائص الخمفية
يتـ تخصيص مظير القوائـ في CSSعبر تخصيص نوع الرمز/الرقـ المعروض أماـ كؿ عنصر
مف عناصر القائمة ,و يتـ ىذا مف خالؿ الخاصيتيف التاليتيف:
:list-style-type و التي تستخدـ لتحديد نوع الرمز/الترقيـ أماـ كؿ عنصر مف
عناصر القائمة ,و تأخذ القيـ circleو squareو discو noneفي حالة
القائمة غير المرتبة ,و القيـ upper-romanو lower-romanو lower-
alphaو upper-alphaو lower-latinو upper-latinو decimalو
غيرىا في حالة القائمة المرتبة.
:list-style-image و التي تستخدـ لوضع صورة خاصة أماـ كؿ عنصر مف
عناصر القائمة كرمز لو ,و تستخدـ بالشكؿ:
;)'list-style-image:url('image.gif
ٔٔٔ
:لنشاىد المثاؿ التالي
<html>
<head>
<title>
</title>
<style type="text/css">
ul {list-style-type:square;}
ol {list-style-image:url('dot.gif');}
</style>
</head>
<body>
<ul>
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
</ul>
<ol>
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
</ol>
</body>
</html>
ٕٔٔ
يبدو ىذا المثاؿ في مستعرض الويب كمايمي:
الشكل : 38هكذا تبدو صفحة اختبار خصائص مظهر القوائم في مستعرض الويب
أظف أف الجداوؿ ىي أكثر عناصر HTMLالتي تستفيد مف CSSإذا عرؼ مطور الويب كيفية
ت سابقاً بالشكؿ المناسب ,لنشاىد المثاؿ التالي أوّلً:
ضْتوظيؼ خصائص CSSالتي ُع ِر َ
><html
><head
>"<style type="text/css
table
{
;width:100%
;border-collapse:collapse
ٖٔٔ
direction:rtl;
text-align:center;
td, th
font-size:1em;
th
font-size:1.1em;
background-color:#A7C942;
color:#ffffff;
.alt td
color:#000000;
background-color:#EAF2D3;
</style>
</head>
<body>
<table>
<tr>
<th><الشركة/th>
ٔٔٗ
></thالعنواف><th
></thالبمد><th
></tr
><tr
></tdدمشؽ><td
></tdسوريا><td
></tr
>"<tr class="alt
></tdبغداد><td
></tdالعراؽ><td
></tr
><tr
…
…
></table
></body
></html
٘ٔٔ
الشكل : 39توظيف CSSلتنسيق مظهر الجداول
: border و التي يسند إلييا قيمة بالبكسؿ تعبر عف سماكة حدود الجدوؿ و لوف يعبر عف
لوف الحدود باإلضافة إلى تحديد نوع الحدود (خط متصؿ ,solidخط متقطع ,dashed
منقط .. dottedإلخ) ,و بالطبع يفصؿ محرؼ المسافة بيف ىذه القيـ (سيتـ الحديث عف
ىذه الخاصية بشكؿ أكثر تفصيالً في فقرة ّلحقة).
:border-collapse و التي تحدد ىؿ سيتـ طي حدود الخاليا و اعتبار وجود حد واحد
بيف كؿ خميتيف (القيمة )collapseأـ سيتـ اعتبار حد كؿ خمية مستقالً عف اآلخر.
ممحوظة :لتسييؿ قراءة محتويات الجدوؿ ينصح دائماً بجعؿ أسطر الجدوؿ متناوبة ألواف الخمفية و ألواف النصوص
كما فعمنا في الجدوؿ المعروض في مثالنا السابؽ ,و ىذا ما حققناه عبر استخداـ الفئة , .altيعرؼ ىذا التناوب
الموني باسـ Zebra-stripping
ٔٔٙ
الموضعة Positioning
َ خصائص
ِ
موضع العنصر ,و كيؼ يتـ عرض العنصر عندما الموضعة في CSSتحديد تتيح خصائص
َ
يكوف محتواه كبي اًر جداً ,كما يتيح وضع عناصر خمؼ عناصر أخرى ,و ىناؾ عدة أنواع لتحديد
موضع العنصر في CSSفي الحقيقة و ىي:
><html
><head
ٔٔٚ
>"<style type="text/css
};* {direction:rtl
h1
></style
></head
><body
ً ><p
ف ٟحبٌخ اإلحذاث١بد اٌّـٍمخ ٠زُ ػشع اٌؼٕظش ؿجمب
ٌإلحذاث١بد اٌّّشح ٌخظبئظٗ ثغغ إٌظش ػٓ ِىبْ ٚسٚسد ٚسّٗ فٟ
></pش١فشح اٌظفحخ
></body
></html
ٔٔٛ
يمكف وضع عناصر خمؼ عناصر أخرى عف طريؽ الخاصية z-indexو ذلؾ بإسناد رقـ
صحيح إلييا ,حيث يتـ إظيار العنصر ذو الػ z-indexاألعمى أماـ العناصر األخرى ,لنشاىد
المثاؿ التالي:
><html
><head
>"<style type="text/css
};* {direction:rtl
img
{
;position:absolute
;left:100px
;top:50px
;z-index:-1
}
></style
></head
><body
></h1ػٕٛاْ اٌفمشح><h1
z-index
ثشىً افزشاػٟ
></p
ٜٔٔ
></body
></html
يمكف أيضاً عرض أشرطة تمرير في الحالة التي يكوف فييا محتوى العنصر أكبر بكثير مف حجمو,
و ذلؾ عف طريؽ إسناد القيمة scrollإلى الخاصية ,overflowلنشاىد المثاؿ التالي:
><html
><head
>"<style type="text/css
};* {direction:rtl
div
{
;background-color:#00FFFF
;width:250px
ٕٓٔ
;height:100px
;overflow:scroll
}
></style
></head
><body
><div
></div
></body
></html
الشكل : 42مثال عمى عرض أشرطة التمرير لمعناصر ذات المحتوى الكبير
ٕٔٔ
واحدات القياس في CSS
يتـ تحديد أبعاد العناصر عمى سبيؿ المثاؿ مف خالؿ خاصيتي العرض widthو اّلرتفاع height
وذلؾ بإسناد قيـ رقمية بالبكسؿ أو بإحدى واحدات القياس التالية:
عند الحديث عف تصميـ صفحات الويب يجب في الحقيقة فيـ ما يعرؼ بػ"نموذج الصندوؽ" أو
box modelباإلنجميزيَّة ,حيث يتـ تمثيؿ كؿ عنصر مف عناصر مستند HTMLعند إنشائو في
المستعرض بأربعة مستطيالت متداخمة تشكؿ نموذج الصندوؽ و ىي مف الداخؿ إلى الخارج:
ٔ -محتوى العنصر :contentو يمثؿ كؿ ما ىو موجود بيف وسمي بداية و نياية العنصر.
ٕ -اإلزاحة الداخمية :paddingو تمثؿ المسافة الفاصمة بيف محتوى العنصر و بيف حدوده.
ٖ -الحدود :borderو يمثؿ اإلطار الخارجي لمعنصر.
ٗ -اإلزاحة الخارجية :marginو تمثؿ المسافة الفاصمة بيف حدود العنصر و العناصر
األخرى في المستند.
ٕٕٔ
ِّ
يوضح الشكؿ التالي نموذج الصندوؽ:
لمطور الويب التحكـ الكامؿ بكؿ منطقة مف ىذه المناطؽ األربع عبر مجموعة مف
ِّ تتيح CSS
الخصائص نستعرضيا في الفقرات التالية.
><html
><head
ٖٕٔ
<style type="text/css">
* { direction:rtl; }
.one
{ border-style:solid; }
.two
{ border-style:dashed; }
</style>
</head>
<body>
</body>
</html>
ٕٔٗ
ممحوظة :يمكف تحديد شكؿ border-styleخاص لكؿ طرؼ مف أطراؼ الحدود و ذلؾ عف طريؽ إسناد أربعة
قيـ مفصولة بفراغات لمخاصية border-styleتمثؿ األولى شكؿ الحد العموي و الثانية شكؿ الحد األيمف و الثالثة
شكؿ الحد السفمي و الرابعة شكؿ الحد األيسر بالشكؿ:
يتـ تحديد مقدار اإلزاحة الداخمية (المسافة بيف محتوى العنصر و حدوده) عف طريؽ الخصائص
padding-leftإلزاحة الطرؼ األيسر و padding-rightإلزاحة الطرؼ األيمف و padding-
topإلزاحة الطرؼ العموي و padding-bottomإلزاحة الطرؼ السفمي ,أو عف طريؽ الخاصية
سند إلى ىذه الخصائص قيـ بإحدى واحدات القياس تعبر
paddingإلزاحة جميع األطراؼ ,و ُي َ
عف مقدار اإلزاحة الداخمية ,لنشاىد المثاؿ التالي:
><html
><head
>"<style type="text/css
p
.padding
{
;padding-top:25px
;padding-bottom:25px
;padding-right:50px
ٕ٘ٔ
;padding-left:50px
}
></style
></head
><body
></body
></html
يتـ تحديد مقدار اإلزاحة الخارجية (المسافة بيف حدود العنصر و العناصر األخرى) عف طريؽ
الخصائص margin-leftإلزاحة الطرؼ األيسر و margin-rightإلزاحة الطرؼ األيمف و
ٕٔٙ
margin-topإلزاحة الطرؼ العموي و margin-bottomإلزاحة الطرؼ السفمي ,أو عف طريؽ
سند إلى ىذه الخصائص قيـ بإحدى واحدات القياس
الخاصية marginإلزاحة جميع األطراؼ ,و ُي َ
تعبر عف مقدار اإلزاحة الداخمية أو القيمة الخاصة autoلترؾ ىذه الميمة لمستعرض الويب,
لنشاىد المثاؿ التالي:
><html
><head
>"<style type="text/css
p
.margin
{
;margin-top:100px
;margin-bottom:100px
;margin-right:50px
;margin-left:50px
}
></style
></head
><body
></body
></html
ٕٔٚ
الشكل :45مثال عمى استخدام خاصية اإل زاحة الخارجة margin
إخفاء العناصر
و اّلختالؼ بينيما أف الطريقة الثانية تخفي العنصر مع الحفاظ عمى الحيز الذي يشغمو فارغاً أما
الطريقة األولى تخفي العنصر مع عدـ الحفاظ عمى الحيز الذي يشغمو مما يؤثر عمى تموضع
العناصر.
ٕٔٛ
بشكؿ كتمة :blockحيث يتـ النزوؿ سط اًر قبؿ العنصر و النزوؿ سط اًر بعد العنصر و
ىذه الحالة نراىا مع عناصر مثؿ > <h1و > <pو >...<divإلخ.
بشكؿ سطري :inlineحيث يتـ وضع العنصر ضمف نفس السطر دوف الحاجة لمنزوؿ
سط اًر و ىذه الحالة نراىا مع عناصر مثؿ > <aو >... <spanإلخ.
تسمح CSSبتغيير نوع العرض لمعناصر مف blockإلى inlineو بالعكس عف طريؽ إسناد
إحدى القيمتيف blockو inlineإلى الخاصية .display
الشفافية opacity
تتيح CSSلمطور الويب التحكـ بدرجة شفافية العناصر عف طريؽ الخاصة opacityعبر إسناد
رقـ عشري بيف 0.0و 1.0إلييا ,حيث أف الػٓ ٓ.تعني حالة عدـ الظيور و الػ ٓ ٔ.تعني حالة
الظيور التاـ بشكؿ طبيعي.
التَّعويم floating
تعتبر خاصية التعويـ floatمف أىـ الخصائص التي تقدميا CSSلمحفاظ عمى تموضع متناسؽ
لمعناصر حيث يتـ تعويـ جميع العناصر إلى جية واحدة بالنسبة لعنصر محدد ,و التعويـ في
CSSتعويـ أفقي إما إلى اليميف rightأو إلى اليسار .left
عند تعويـ عنصر ما فإف العناصر التي تميو سوؼ تمتؼ حولو (تعوـ) بما يتالءـ و تعويمو ,أما
العناصر التي قبمو فمف تتأثر بالتعويـ ,لنشاىد المثاؿ التالي:
><html
><head
>"<style type="text/css
ٕٜٔ
} ;img { float:right
></style
></head
><body
><p
ٔظِ ٟب ِحزٔ ٜٛظِ ٟب ِحزٜٛ ٔظِ ٟب ِحزٜٛ ِحزٔ ٜٛظِ ٟب ِحزٜٛ
ِحزٔ ٜٛظِ ٟب ِحزٔ ٜٛظِ ٟب ِحزٔ ٜٛظِ ٟب ٔظِ ٟب ِحزٔ ٜٛظِ ٟب
ٔظِ ٟب ِحزٔ ٜٛظِ ٟب ِحزٜٛ ٔظِ ٟب ِحزٜٛ ِحزٔ ٜٛظِ ٟب ِحزٜٛ
ِحزٔ ٜٛظِ ٟب ِحزٔ ٜٛظِ ٟب ِحزٔ ٜٛظِ ٟب ٔظِ ٟب ِحزٔ ٜٛظِ ٟب
ِحزٔ ٜٛظِ ٟب.
></p
></body
></html
ٖٓٔ
الشكل : 46مثال عمى استخدام خاصية التعويم float
بالطبع و كما ذكرنا سابقاً أصبح واضحاً اآلف أف الخاصية floatتقوـ بتعويـ العنصر إلى جية
الم َع َّوـ ,و
ثـ تقوـ بتدوير العناصر التالية لو لتتالءـ و موضع العنصر ُ
اليميف أو إلى جية اليسارَّ ,
المعو َمة األخرى و ليذا
َّ الم َع َّوـ الحالي أي قدر مف العناصر
بالطبع يمكف أف يتمو/يسبؽ العنصر ُ
تتيح CSSمنع وجود عناصر عائمة بجوار العنصر الحالي باستخداـ الخاصية clearمع
العناصر التي ّل نرغب بوجود عناصر عائمة بجوارىا ,حيث يتـ إسناد إحدى القيـ leftلمنع وجود
ٖٔٔ
عناصر عائمة مف اليسار أو rightلمنع وجود عناصر عائمة مف اليميف أو bothلمنع وجود
عناصر عائمة مف الجيتيف.
تعميقات CSS
يتـ كتابة التعميقات البرمجية في أوراؽ األنماط اّلنسيابيَّة CSSبيف * /و */كمايمي:
يتـ تحقيؽ ما سبؽ ذكره مف خالؿ وصؼ نوع mediaما قبؿ مجموعة قواعد ,CSSو نوع
mediaآخر قبؿ مجموعة قواعد CSSأخرى حيث يتـ تطبيؽ كؿ مجموعة عند الحالة المذكورة
في قاعد الػ ,@mediaلنشاىد المثاؿ التالي:
><html
><head
>"<style type="text/css
@media screen
{
{p
text-align:justfy
;direction:rtl
ٕٖٔ
color:white;
body {
background-color:green;
@media print
text-align:justfy;
direction:rtl;
color:white;}
</style>
</head>
<body>
<p>
ٓ١مز٠ ثـشٚجذ٠ فٛ سٞت اٌز٠ٌٛ ٌّسزٕذ اٟ إٌظٜٛ اٌّحزٛ٘ ٘زا
ٍٝ اٌؼشع ػٚ اٌشبشخٍٝ اٌؼشع ػٟ حبٌزٟٓ ف١ِخزٍفز
.اٌـجبػخ/سقٌٛا
</p>
</body>
</html>
ٖٖٔ
يبدو المثاؿ السابؽ عند العرض في مستعرض الويب كمايمي:
و يبدو عمى الورؽ (في نافذة المعاينة قبؿ الطباعة في الحقيقة) كمايمي:
ٖٗٔ
يمكف أف نضع بعد @mediaإحدى القيـ التالية:
الشرح القيمة
جميع أجيزة العرض all
لألجيزة الناطقة aural
األجيزة المعتمدة عمى الممس braille
طابعات األجيزة المعتمدة عمى الممس embossed
لألجيزة الكفيَّة handheld
لكؿ الطابعات print
ألجيزة اإلسقاط (الراشؽ مثالً) projection
لشاشات الحواسيب screen
لكؿ األجيزة التي تستخدـ شاشات ذات عرض محرؼ ثابت (كالمبرقة الكاتبة). tty
لكؿ األجيزة الشبيية بالتمفاز tv
الجدول : 11قيم القاعدة @media
و بانتياء حديثنا عف قواعد الػ Mediaنكوف قد أنيينا -بفضؿ اهلل -مناقشة CSSبأغمب
خصائصيا ,و سنتابع في الصفحات التالية استعراض خصائص CSSالعصريَّة و التي تعرؼ
أما اآلف فأرى أف نعرض جدوّلً ب ُم َح ِّددات CSSالتقميديَّة ليكوف مرجعاً سريعاً عند
باسـ َّ ,CSS3
الحاجة.
ٖ٘ٔ
كؿ العناصر * *
كؿ عناصر الوسـ ><p p tag
كؿ عناصر الوسـ > <aو كؿ a,p tag,tag
عناصر الوسـ ><p
كؿ عناصر الوسـ > <aالموجودة div a tag tag
داخؿ ><div
كؿ عناصر الوسـ > <aالموجودة div>a tag>tag
داخؿ > <divبشكؿ مباشر
كؿ عناصر الوسـ > <pالموجودة div+p tag+tag
مباشرةً بعد عنصر ><div
كؿ العناصر التي تحوي الواصفة src ][src ][attribute
كؿ العناصر التي تحوي الواصفة src ][src=image.jpg ][attribute=v
مسنداً إلييا القيمة image.jpg
كؿ العناصر التي تحوي الواصفة ][target~=_blank ][attribute~=v
targetمسنداً إلييا قيمة ّل تساوي
_blank
كؿ العناصر التي تحوي الواصفة ][href|=http:// ][attribute|=v
targetمسنداً إلييا قيمة تبدأ بػ
http://
كؿ الروابط التي لـ يتـ النقر عمييا a:link :link
كؿ الروابط التي تـ النقر عمييا a:visited :visited
الرابط الفعاؿ حالياً a:active :active
الرابط الذي تمر عميو الفأرة اآلف a:hover :hover
كؿ عناصر اإلدخاؿ الفعالة حالياً input:focus :focus
أوؿ محرؼ مف كؿ عنصر ><p p:first-letter :first-letter
أوؿ سطر مف كؿ عنصر ><p p:first-line :first-line
ٖٔٙ
األوؿ
كؿ عنصر > <pيكوف اّلبف ّ p:first-child :first-child
لعنصره األب
إدراج محتوى قبؿ كؿ عنصر ><p p:before :before
إدراج محتوى بعد كؿ عنصر ><p p:after :after
تحديد كؿ عنصر > <pتبدأ قيمة )p:lang(en ):lang(language
واصفتو langبالقيمة en
الجدول : 12محددات CSS
ٖٔٚ
CSS 3
مع تطور مفيوـ الويب (خصوصاً مع ظيور الػ )Web 2.0ظيرت الحاجة إلى تحسيف أوراؽ
األنماط اّلنسيابية لتحقيؽ تصاميـ أجمؿ في مواقع الويب دوف الحاجة إلى اإلفراط في استخداـ
برامج التصميـ و ىذا ما دفع إلى ظيور اإلصدار الجديد مف أوراؽ األنماط اّلنسيابيَّة و المعروؼ
بػ .CSS3
المستعرضات الداعمة
بالنسبة لػ CSS3فيي مدعومة مف أغمب مستعرضات الويب الحديثة و بشكؿ أوسع بكثير مف
دعـ ذات المستعرضات لػ .HTML5
ٖٔٛ
CSS3 Borders الحدود الجديدة
) بسيولة وRound Corner Borders( إنشاء الحدود ذات الزوايا غير القائمةCSS3 تتيح
) التي طالما استخدمتPhotoshop يسر و دوف الحاجة ّلستخداـ أي مف برامج التصميـ (مثؿ
و ذلؾ بإسناد قيمة إليياborder-radius لتحقيؽ ىذه الميمة عبر خاصية جديدة ىي الخاصية
, تعبر القيمة المسندة عف نصؼ قطر قوس الدائرة المقتطع كزاوية لإلطار,بإحدى واحدات القياس
:لنشاىد المثاؿ التالي
<html>
<head>
<style type="text/css">
div
padding:10px 40px;
background:#dddddd;
width:300px;
border-radius:25px;
</style>
</head>
<body>
ٖٜٔ
<div>The border-radius property allows you to add rounded
>corners to elements.</div
></body
></html
كما تتيح CSS3إنشاء حدود العناصر باّلعتماد عمى صورة صغيرة تعبر عف أصغر شكؿ ممكف
لإلطار
ِّ
يوضح الفرؽ بيف الطريقتيف و الشكؿ الجانبي
المذكورتيف.
الشكل : 51اإلطارات الصورية في CSS3 يتـ إنشاء الحدود الصورية مف خالؿ تمرير
ٓٗٔ
أوrepeat ثـ إسناد إحدى القيمتيف,border-image-source مسار الصورة إلى الخاصية
ثـ إسناد عرض اإلطار بالبكسؿ إلى,border-image-repeat إلى الخاصيةstretch
border- و إسناد قيـ مناسبة بالبكسؿ إلى الخاصيتيف,border-image-width الخاصية
لتحديد جزء الصورة الذي سيتـ تك ارره أو تمديدهborder-image-outset وimage-slice
.لصنع اإلطار
و التي تجمع جميع الخصائص السابقة بالصيغةborder-image يمكف استخداـ الخاصية المختصرة:ممحوظة
border-image:source slice width outside repeat;
<html>
<head>
<style type="text/css">
div
border-width:15px;
width:250px;
padding:10px 20px;
-webkit-border-image:url(border.png) 30 30 stretch;
</style>
</head>
<body>
ٔٗٔ
></body
></html
ممحوظة :مستعرض Firefoxيستخدـ البدائة -moz-قبؿ أسماء الخصائص المذكورة أعاله ,و مستعرضا
Safariو Chromeيستخدماف البادئة -webkit-و مستعرض Operaيستخدـ البادئة -o-
تتيح CSS3أيضاً إنشاء ظؿ لعنصر ما عبر الخاصية box-shadowو التي يسند إلييا قيمة
لونية تعبر عف لوف الظؿ و قيـ بالبكسؿ تعبر عف إحداثيات الظؿ ,لنشاىد المثاؿ التالي:
><html
><head
>"<style type="text/css
div
{
;width:300px
;height:100px
;background-color:yellow
ٕٗٔ
;-webkit-box-shadow: 10px 10px 5px #888888
}
></style
></head
><body
><div></div
></body
></html
في CSS3تـ إضافة خاصيتيف جديدتيف لمساعدة مطور الويب عمى التحكـ بالخمفيات بشكؿ
أفضؿ ,األولى ىي الخاصية background-sizeو التي تسمح بتحديد أبعاد الصورة الخمفية
بالبكسؿ مما يسمح بإعطاء الصورة كخمفية أبعاداً تختمؼ عف األبعاد األصمية لمصورة و ىو ما لـ
يكف ممكناً قبؿ ,CSS3يتـ استخداـ ىذه الخاصية كمايمي:
ٖٗٔ
;background-size: 80px 60px
يعني الرقـ األوؿ إلى عرض الصورة في حيف أف الثاني يشير إلى ارتفاعيا.
أما الخاصية الثانية فيي الخاصية background-originو التي تحدد أحد أجزاء نموذج
الصندوؽ ليتـ تطبيؽ الخمفية عمى أساسو و يمكف أف تأخذ إحدى القيـ context-boxلتطبيؽ
الخمفية عمى المستطيؿ المحدد بالمحتوى أو padding-boxلتطبيؽ الخمفية عمى المستطيؿ
المحدد بالمحتوى و اإلزاحة الداخمية معاً أو border-boxلتطبيؽ الخمفية عمى المستطيؿ المحدد
بالمحتوى و باإلزاحة الداخمية و بالحدود و الشكؿ التالي يوضح الفرؽ بيف المستطيالت الثالثة.
مف التحسينات التي أضيفت إلى خاصية الخمفية في CSS3السماح بإضافة أكثر مف صورة في
نفس الوقت كخمفية لنفس العنصر و ذلؾ عبر الفصؿ بيف كؿ خمفية و األخرى بالفاصمة بالشكؿ:
;)background-image:url(back1.gif),url(back2.png
ٗٗٔ
خصائص تنسيق النصوص الجديدة في CSS3
تـ إضافة مجموعة مف الخصائص الجديدة لتنسيؽ النصوص في CSS3نعرض بعضيا في
الجدوؿ التالي:
٘ٗٔ
قيمتيف رقمتيف و تضيؼ ظالً لمنص text-shadow
قيمة لونية
noneأو normalتحدد طريقة تحقيؽ التفاؼ النصوص text-wrap
أو unrestricted
أو suppress
أو تحديد طريقة تقسيـ الكممات الطويمة normal word-break
أو break-all
hyphenate
أو تقوـ بتحقيؽ التفاؼ النصوص عبر تقسيـ normal word-wrap
بناء عمى الطريقة المحددة
الكممات الطويمة ً word-break
في الخاصة word-break
الجدول : 13خصائص تنسيق النصوص الجديدة في CSS3
><html
><head
>"<style type="text/css
h1
{
}
></style
></head
><body
ٔٗٙ
></h1إٌض اٌّظًٍ><h1
></body
></html
في CSSالتقميدية كاف مف واجب مطوري صفحات الويب استخداـ الخطوط الشائعة و الموجودة
في أغمب حواسيب زوار الصفحة و ذلؾ أف المستعرض لـ يكف قاد اًر عمى عرض أي خط غير
موجود في خطوط حاسوب زائر الموقع ,مع CSS3أصبح باإلمكاف استخداـ أي خط ضمف
صفحة الويب بعد وضع ممؼ الخط ضمف ممفات الموقع و و إسناد مساره إلى الخاصية src
لقاعدة @font-faceالجديدة كمياً و التي تستخدـ كمايمي:
ممحوظة :مستعرض Internet Exploerيدعـ الخطوط ذات النوع .eotفقط بينما تدعـ باقي المستعرضات
النوعيف .ttfو .otf
><html
><head
>"<style type="text/css
@font-face
{
;font-family: myFont
ٔٗٚ
)'src: url('Sansation_Light.ttf
}
div
{
;font-family:myFont
}
></style
></head
><body
><div
></div
></body
></html
تمكننا CSS3مف إجراء تحويالت ىندسية ثنائية البعد عمى عناصر الصفحة كاّلنسحاب
translateو التدوير rotateو تغيير الحجـ scaleو غيرىا بإسناد أحد توابع التحويؿ إلى
الخاصة .transform
ممحوظة :مستعرض Internet Explorerيستخدـ البادئة -ms-قبؿ اسـ الخاصية ,و مستعرض Firefox
يستخدـ البادئة -moz-و مستعرض Operaيستخدـ البادئة -o-و مستعرضي Chromeو Safariيستخدماف
البادئة -webkit-
ٔٗٛ
الشرح التابع
ينقؿ العنصر إلى اإلحداثيات الممرة لو )translate(x,y
ينقؿ العنصر عمى المحور Xمسافة n )translateX(n
ينقؿ العنصر عمى المحور Yمسافة n )translate(n
يغير بعدي العنصر إلى البعديف الممرريف لو )scale(x,y
يغير بعد العنصر Xإلى القيمة n )scaleX(n
يغير بعد العنصر Yإلى القيمة n )scaleY(n
يقوـ بتدوير العنصر بزاوية α )rotate(α
يقوـ بإجراء تحويؿ اّلنحراؼ وفؽ الزاويتيف Xαو Yα )skew(Xα,Yα
يقوـ بإجراء تحويؿ اّلنحراؼ عمى المحور Xوفؽ الزاوية α )skewX(α
يقوـ بإجراء تحويؿ اّلنحراؼ عمى المحور Yوفؽ الزاوية α )skewY(α
الجدول : 14توابع التحويل الهندسي ثنائي البعد في CSS3
><html
><head
>"<style type="text/css
div
{
;)-webkit-transform:skew(30deg,20deg
;width:100px
;height:75px
;background-color:red
ٜٔٗ
}
></style
></head
><body
></body
></html
ممحوظة :األحرؼ degالتي تـ تمريرىا بعد األرقاـ إلى تابع التحويؿ تعني درجة degreeو ذلؾ تميي اًز عف
الرادياف و الذي ترمز لو األحرؼ rad
ٓ٘ٔ
التحويالت الهندسية ثالثية األبعاد 3D transformation
تتيح CSS3القياـ بتحويالت ىندسية ثالثية األبعاد عمى العناصر بنفس األسموب السابؽ و لكف
باستخداـ التوابع التي يعرضيا الجدوؿ التالي:
الشرح التابع
ينقؿ العنصر إلى اإلحداثيات الممرة لو )translate3d(x,y,z
ينقؿ العنصر مسافة nعمى المحور X )translateX(n
ينقؿ العنصر مسافة nعمى المحور Y )translateY(n
ينقؿ العنصر مسافة nعمى المحور Z )translateZ(n
يغير أبعاد العنصر إلى األبعاد الممرة لو )scale3d(x,y,z
يغير بعد العنصر Xإلى المقدار n )scaleX(n
يغير بعد العنصر Yإلى المقدار n )scaleY(n
يغير بعد العنصر Zإلى المقدار n )scaleZ(n
يقوـ بتدوير العنصر عمى المحاور الثالثة بزاوية )rotate3d(x,y,z,α
مقدارىا α
يقوـ بتدوير العنصر عمى المحور Xبزاوية α )rotateX(α
يقوـ بتدوير العنصر عمى المحور Yبزاوية α )rotateY(α
يقوـ بتدوير العنصر عمى المحور Zبزاوية α )rotateZ(α
يحدد منظور الرؤية )perspective(n
الجدول : 15التحويالت الهندسية ثالثية األبعاد في CSS3
توفر CSS3طريقة جميمة و مميزة إلنشاء تأثير عمى عناصر المستند يعرؼ ىذا التأثير الخاص
باسـ اّلنتقاؿ المتحرؾ و الذي يتـ تحقيقو عبر الخاصية transitionحيث يتـ تطبيؽ قاعدة CSS
مختمفة عف القاعدة األصمية لمعنصر خالؿ زمف محدد مما يظير العنصر بشكؿ متحرؾ.
ٔ٘ٔ
:عف طريؽ الصيغة
تعبر عف الزمف و يمكف تغييرduration عف اسـ الخاصية التي ستتغير وproperty حيث تعبر
:أكثر مف خاصية بالصيغة
<html>
<head>
<style type="text/css">
div
width:100px;
height:100px;
background:red;
div:hover
width:200px;
height:200px;
webkit-transform:rotate(180deg);
ٕٔ٘
></style
></head
><body
></body
></html
ممحوظة :لف أذكر البادئات التي تستخدميا المستعرضات الشييرة ىنا فمف المفترض أنؾ اعتدت عمييا اآلف و سأنوه
إلى أف الحرؼ sبعد القيمة الرقمية يعني أف الزمف بالثانية second
حركات CSS3
تتيح CSS3إنشاء حركات مخصصة في صفحة الويب مما يغني مطور الويب عف استخداـ
صور الػ .gifالمتحركة أو تأثيرات flashو غيرىا ضمف الصفحة ,و يتـ إنشاء الحركات
بخطوتيف:
أوّلً -يتـ تعريؼ اسـ خاص لمحركة في القاعدة @keyframeو تحديد ماىيتيا عبر تحديد
الوضع اّلبتدائي fromو الوضع النيائي ,toو بالطبع عند تطبيؽ الحركة يتـ اّلنتقاؿ مف الوضع
اّلبتدائي لمعنصر إلى الوضع النيائي خالؿ فترة زمنية مما يجعمنا نشعر بالحركة.
ثانياً -يتـ إسناد اسـ الحركة و زمف تنفيذىا إلى الخاصية animationالخاصة بالعنصر.
><html
ٖ٘ٔ
><head
>"<style type="text/css
div
{
;width:100px
;height:100px
;background:red
;-webkit-animation:myAnimation 5s
}
@-webkit-keyframes myAnimation
{
};from {background:red
};to {background:yellow
}
></style
></head
><body
><div></div
></body
></html
المثاؿ السابؽ يعرض إنشاء حركة باّلعتماد عمى الحالة البدائية و الحالة النيائية لمعنصر أثناء
الحركة حيث أف الحالة البدائية تعبر عف شكؿ العنصر لحظة بدء الحركة و الحالة النيائية تعبر
عف شكؿ العنصر لحظة نياية الحركة.
ٗ٘ٔ
يمكف تخصيص شكؿ العنصر في كؿ لحظة مف لحظات الحركة عبر إنشاء قاعدة CSSخاصة
بيذه المحظة ضمف قاعدة @keyframesبالشكؿ:
@-webkit-keyframes myAnimation
{
};0% {background:red
};15% {backgroung:green;width:150px;color:white
};50% {height:350px
};100% {background:yellow
}
حيث أف 0%تعني لحظة بداية الحركة و 100%تعني لحظة نيايتيا و القيـ األخرى تعبر عف
فترات أثناء حدوث الحركة.
ممحوظة :تحدث ىذه التغيرات أثناء الحركة و يعود العنصر إلى شكمو الطبيعي عند انتياء الحركة
تسمح CSS3بعرض محتوى العناصر عمى شكؿ أعمدة متعددة ( Multi-Columnsعمى مبدأ
الجرائد) بطريقتيف:
األولى -عدد أعمدة ثابت و عرض عمود متغير :و يتـ ذلؾ مف خالؿ إسناد عدد األعمدة إلى
الخاصية column-countالتي تقسِّـ المحتوى إلى العدد المذكور مف األعمدة ,و يتغير عرض
األعمدة مع تغير حجـ نافذة المستعرض.
الثانية -عرض عمود ثابت و عدد أعمدة متغير :و يتـ ذلؾ مف خالؿ عرض العمود الواحد إلى
الخاصية column-widthو المسافة بيف كؿ عموديف إلى الخاصية ,column-gapو في ىذه
٘٘ٔ
الطريقة تحافظ األعمدة عمى عرض ثابت لكؿ منيا و يتغير عددىا مع تغير حجـ نافذة
.المستعرض
<html>
<head>
<style type="text/css">
.newspaper
-webkit-column-count:3;
</style>
</head>
<body>
<div class="newspaper">
ٔ٘ٙ
></div
></body
></html
يمكف وضع فواصؿ ذات مظير و لوف محدديف بيف األعمدة عف طريؽ الخاصية column-rule
بشكؿ مشابو لممثاؿ التالي:
باإلضافة لما قدمتو CSS3مف ميزات لمف ينشئ صفحات الويب فقد قدمت مجموعة مف
التحسينات لممستخدـ النيائي لمصفحة عبر الخصائص التي يعرضيا الجدوؿ التالي:
ٔ٘ٚ
الشرح القيم الممكنة الخاصية
normalأو iconأو تحدد لمستعرض الويب كيفية (شكؿ) appearance
windowأو buttonأو عرض العنصر ضمف المستند
menuأو field
autoأو inheritأو رابط تتيح جعؿ عنصر ما بشكؿ أيقوني icon
لصورة
أو تحدد أيف سيتـ اّلنتقاؿ عندما يضغط inherit أو auto nav-downو
معرؼ أحد العناصر أو المستخدـ عمى مفاتيح األسيـ في لوحة nav-leftو
المفاتيح اسـ إطار nav-rightو
nav-up
يحدد العدد المسند إلييا عدد ضغطات عدد صحيح و مميز nav-index
مفتاح Tabالالزمة لالنتقاؿ إلى العنصر
أو بشكؿ أدؽ تسمسؿ اّلنتقاؿ بيف العناصر
عند الضغط عمى مفتاح Tab
noneأو horizontalأو تحدد فيما إذاكاف مف المسموح لممستخدـ resize
تغيير حجـ أحد عناصر divبشكؿ يدوي verticalأو both
الشكل : 56خصائص واجهة المستخدم الجديدة في CSS3
محددات CSS3
ٔ٘ٛ
كؿ عناصر الروابط التي تشير إلى ]"a[href$=".xml ]tag[attribute$=v
ممفات مف النوع .xml
كؿ عناصر الروابط التي تشير إلى ]"a[href*="micro ]tag[attribute*=v
عناويف تحوي القيمة micro
تحديد كؿ عنصر > <pيكوف العنصر p:first-of-type :first-of-type
اّلبف األوؿ مف نوعو بالنسبة لعنصره
األب
تحديد كؿ عنصر > <pيكوف العنصر p:last-of-type :last-of-type
اّلبف األخير مف نوعو بالنسبة لعنصره
األب
تحديد كؿ عنصر > <pيكوف العنصر p:only-of-type :only-of-type
اّلبف الوحيد مف نوعو بالنسبة لعنصره
األب
يحدد كؿ عنصر > <pيكوف اّلبف p:only-child :only-child
الوحيد لعنصره األب
يحدد كؿ عنصر > <pيكوف اّلبف )p:nth-child(2 ):nth-child(n
الثاني لعنصره األب
يحدد كؿ عنصر > <pيكوف اّلبف )p:nth-last-child(2 ):nth-last-child(n
الثاني لعنصره األب مع بدء العد مف
اّلبف األخير
يحدد كؿ عنصر > <pيكوف اّلبف )p:nth-of-type(2 ):nth-of-type(n
الثاني لعنصره األب
يحدد كؿ عنصر > <pيكوف اّلبف p:last-child :last-child
األخير لعنصره األب
يحدد العنصر الجذر لممستند :root :root
يحدد كؿ عناصر > <pعديمة p:empty :empty
ٜٔ٘
المحتوى
الفعاؿ
ّ #news عنصر يحدد #news:target :target
حالياً(الذي تـ الوصوؿ إليو عبر النقر
عمى رابط يشير إليو داخمياً)
كؿ عناصر اإلدخاؿ المفعمة input:enabled :enabled
المفعمة
ّ كؿ عناصر اإلدخاؿ غير input:disabled :disabled
كؿ عناصر اإلدخاؿ المختارة input:checked :checked
كؿ العناصر عدا عناصر ><p ):not(p ):not(selector
جزء العنصر الذي قاـ المستخدـ ::selection ::selection
بتحديده
الجدول : 16المحددات الجديدة في CSS3
ٓٔٙ
الخاتمة
بيذا نكوف قد وصمنا إلى نياية حديثنا عف CSS3و بيذا يكوف الكتاب قد وفى بوعده بشرح لغتي
HTML5و CSS3بشكؿ مكثَّؼ و بسيط و بيذا تكوف أنت قد قطعت ربع المسافة في مشوار
تعمـ برمجة الويب ,و ىنا قد تتساءؿ :و ماذا بعد؟ و في الحقيقة فإف الخطوة التالية (كما أزعـ)
ىي أف تتعمـ Java Scriptأو jQueryثـ تأتي الخطوة الميمة في تعمـ إحدى لغات البرمجة مف
مطور
طرؼ السيرفر مثؿ PHPأو ASP.NETلتكوف قد قطعت ٘ %ٛمف الطريؽ نحو لقب " ِّ
ويب ,"Web Developerأما الػ ٘ٔ %الباقية فتكمف -برأيي -في عممية نفض الغبار و األتربة
عما تعممتو و اإلبقاء عمى الدر الثميف فقط و تيذيبو عبر القراءة المستمرة و المتابعة الدائمة.
أتمنى أف يكوف كتابي ىذا قد ساىـ في إعطائؾ فكرة جيدة عف لغتي HTML5و CSS3و أسأؿ
ّ
أما اآلف فسأتركؾ برعاية اهلل و حفظو
اهلل أف يكوف أسموبو في عرض األفكار قد راقؾ و أرضاؾَّ ,
أنوه ّأنني ما أزاؿ أحبو في عالـ
و سأدعو لؾ برحمة ىادئة و ممتعة في عالـ التطوير لمويب ,و ّ
أرحب بأي اقتراح أو استفسار عمى بريدي اإللكتروني ّ الويب و أتعمّـ و
mokhtar_ss@hotmail.comو السالـ عميكـ و رحمة اهلل و بركاتو.
ٔٔٙ
ٕٔٙ
الفهارس
ٖٔٙ
ٔٙٗ
فهرس األشكال
الشكؿ ٔ :كتابة أوؿ شيفرة HTMLفي برنامج المفكرة و حفظ الممؼ ٔٚ .......................
ألوؿ صفحة مكتوبة باستخداـ ٔٛ ............. HTML
الشكؿ ٕ :الشكؿ النيائي في المستعرض َّ
الشكؿ ٖ :عنصر عرض النصوص > <pعند إضافة واصفة المحاذاة ٕٗ ................ align
الشكؿ ٗ :صفحة اختبار عناصر العناويف ٕٚ .................................................
الشكؿ ٘ :صفحة تجربة العنصر >ٕٛ .................................................. <hr /
الشكؿ : ٙالتعميقات تظير بالموف األخضر في نافذة عرض المصدر و ّل تظير في الصفحة ٖٓ .
الشكؿ : ٚصفحة اختبار عناصر تنسيؽ النصوص ٖٕ .........................................
الشكؿ : ٛمثاؿ ّلستخداـ بعض المحارؼ الخاصة في الصفحةٖٗ ..............................
الشكؿ : ٜصفحة اختبار عنصر الروابط ٖ٘ ...................................................
الشكؿ ٓٔ :صفحة اختبار لعنصر الصور ٖٛ ..................................................
الشكؿ ٔٔ :استخداـ الصور بدّلً عف النصوص كمحتوى لمروابط ٗٓ ...........................
الشكؿ ٕٔ :مثاؿ عمى صنع خريطة صورية ٗٔ ................................................
الشكؿ ٖٔ :شكؿ تخيمي لتوضيح المبدأ اليندسي في رسـ المناطؽ ٕٗ ...........................
الشكؿ ٗٔ :مثاؿ لقائمة غير مرتبة بسيطة ٗ٘ ..................................................
الشكؿ ٘ٔ :مثاؿ عمى قائمة مرتبة بسيطة ٗ٘ ..................................................
الشكؿ : ٔٙمثاؿ عمى قائمة معقدة ٗٚ .........................................................
الشكؿ : ٔٚىكذا تبدو قائمة المصطمحات في المستعرض ٜٗ ...................................
الشكؿ : ٔٛشكؿ تخيمي لتوضيح الوسوـ المستعممة إلنشاء الجدوؿ ٜٗ ..........................
الشكؿ : ٜٔمثاؿ عمى إنشاء جدوؿ بسيط٘ٔ ...................................................
الشكؿ ٕٓ :رسـ توضيحي ألقساـ الجدوؿ في ٕ٘ ..................................... HTML
الشكؿ ٕٔ :مثاؿ إلنشاء جدوؿ HTMLمثالي ٘٘ ..............................................
٘ٔٙ
الشكؿ ٕٕ :مثاؿ عمى إنشاء جدوؿ غير بسيط باستخداـ الواصفتيف rowspanو ٘ٚ . colspan
الشكؿ ٖٕ :مثاؿ عمى إنشاء نموذج بسيط ٙٔ ..................................................
الشكؿ ٕٗ :إنشاء نموذج أعقد بقميؿ ٕٙ ........................................................
الشكؿ ٕ٘ :مثاؿ عمى استخداـ checkboxو ٙٗ ...................................... radio
الشكؿ : ٕٙمثاؿ عمى استخداـ عنصر ٙ٘ .............................................select
الشكؿ : ٕٚمثاؿ عمى استخداـ العنصر ٙٚ ......................................... textarea
الشكؿ : ٕٛمثاؿ عمى استخداـ ٜٙ .................................................. fieldSet
الشكؿ : ٕٜاستخداـ اإلطارات بشكؿ عمودي ٚٓ ...............................................
الشكؿ ٖٓ :استخداـ اإلطارات بشكؿ أفقي ٚٔ ..................................................
الشكؿ ٖٔ :عنصر عرض الفيديو الجديد كما يبدو في مستعرض جوجؿ كروـ ٛٗ ..............
الشكؿ ٕٖ :عنصر عرض الصوت الجديد كما يبدو في مستعرض جوجؿ كروـ ٛ٘ ............
الشكؿ ٖٖ :عناصر اإلدخاؿ الجديدة كما تبدو في مستعرض كروـ ٛٛ ...........................
الشكؿ ٖٗ :استخداـ خصائص مظير النصوص ٔٓٗ ..........................................
الشكؿ ٖ٘ :استخداـ خصائص الخطوط ٔٓٙ ..................................................
الشكؿ : ٖٙىكذا تبدو صفحة اختبار مظير الروابط لحظة النقر عمى الرابط الثالث و بعد زيارة
الثاني ٔٓٛ ....................................................................................
الشكؿ : ٖٚىكذا تبدو صفحة اختبار خصائص الخمفية ٔٔٔ ...................................
الشكؿ : ٖٛىكذا تبدو صفحة اختبار خصائص مظير القوائـ في مستعرض الويبٖٔٔ .........
الشكؿ : ٖٜتوظيؼ CSSلتنسيؽ مظير الجداوؿ ٔٔٙ ........................................
موض َعة العناصر في ٔٔٛ .................... CSS
َ الشكؿ ٓٗ :مثاؿ عمى استخداـ خصائص
الشكؿ ٔٗ :مثاؿ عمى استخداـ الخاصية ٕٔٓ ...................................... z-index
الشكؿ ٕٗ :مثاؿ عمى عرض أشرطة التمرير لمعناصر ذات المحتوى الكبير ٕٔٔ ...............
الشكؿ ٖٗ :نموذج الصندوؽ ٕٖٔ ...............................................box model
ٔٙٙ
الشكؿ ٗٗ :مثاؿ عمى استخداـ خصائص اإلزاحة الداخمية ٕٔٙ ................................
الشكؿ ٘ٗ :مثاؿ عمى استخداـ خاصية اإلزاحة الخارجة ٕٔٛ .......................... margin
الشكؿ : ٗٙمثاؿ عمى استخداـ خاصية التعويـ ٖٔٔ ..................................... float
الشكؿ : ٗٚاستخداـ القاعدة ٖٔٗ .................................................. @media
الشكؿ : ٗٛاستخداـ القاعدة ٖٔٗ .................................................. @media
الشكؿ : ٜٗاستخداـ خاصية border-radiusفي مستعرض كروـ ٔٗٓ .......................
الشكؿ ٓ٘ :اإلطارات الصورية في ٔٗٓ ............................................... CSS3
الشكؿ ٔ٘ :اإلطار الصوري في مستعرض جوجؿ كروـٕٔٗ ...................................
الشكؿ ٕ٘ :خاصية الظؿ كما تبدو في مستعرض كروـ ٖٔٗ ...................................
الشكؿ ٖ٘ :نموذج الصندوؽ بالنسبة لخاصية الخمفية في ٔٗٗ ......................... CSS3
الشكؿ ٗ٘ :مثاؿ عمى تحويؿ Skewفي مستعرض جوجؿ كروـٔ٘ٓ ..........................
الشكؿ ٘٘ :إنشاء محتوى بأعمدة متعددة محددة العددٔ٘ٚ .................................... .
الشكؿ : ٘ٙخصائص واجية المستخدـ الجديدة في ٔ٘ٛ ............................... CSS3
ٔٙٚ
ٔٙٛ
فهرس الجداول
الجدوؿ ٔ :جدوؿ الواصفات المشتركة بيف أغمب عناصر ٕ٘ ........................... HTML
الجدوؿ ٕ :بعض المحارؼ الخاصة في ٖٖ ........................................... HTML
الجدوؿ ٖ :القيـ المختمفة لمواصفة typeالخاصة بعنصر <ٙٓ ......................... >input
الجدوؿ ٗ :دليؿ وسوـ ٚٚ .............................................................HTML
الجدوؿ ٘ :واصفات العنصر >ٛٗ .................................................... <video
الجدوؿ : ٙواصفات العنصر >ٛٙ .................................................... <video
الجدوؿ : ٚأنواع عناصر اإلدخاؿ الجديدة في ٛٚ .................................. HTML 5
الجدوؿ : ٛبعض طرؽ كائف العنصر >ٜٕ ......................................... <canvas
الجدوؿ : ٜدليؿ الوسوـ الجديدة في ٜٗ ............................................. HTML 5
الجدوؿ ٓٔ :واحدات القياس في ٕٕٔ ................................................... CSS
الجدوؿ ٔٔ :قيـ القاعدة ٖٔ٘ ...................................................... @media
الجدوؿ ٕٔ :محددات ٖٔٚ ............................................................. CSS
الجدوؿ ٖٔ :خصائص تنسيؽ النصوص الجديدة في ٔٗٙ ............................. CSS3
الجدوؿ ٗٔ :توابع التحويؿ اليندسي ثنائي البعد في ٜٔٗ ...............................CSS3
الجدوؿ ٘ٔ :التحويالت اليندسية ثالثية األبعاد في ٔ٘ٔ ............................... CSS3
الجدوؿ : ٔٙالمحددات الجديدة في ٔٙٓ .............................................. CSS3
ٜٔٙ
ٔٚٓ
فهرس المحتويات
اإلىداء ٚ.........................................................................
تنويو ٜ...........................................................................
بيف يدي الكتابٔٔ ...............................................................
مقدمة ٔ٘ ........................................................................
ما ىي HTML؟ ٔ٘ ...............................................................
كيؼ أبدأ في تعمـ كتابة مستندات HTML؟ٔٙ ......................................
األوؿ في لغة ٔٙ .................................................... HTML
المثاؿ َّ
عناصر ٔٛ ................................................................HTML
الفراغات ٕٓ ....................................................... WHITE SPACES
الشكؿ العاـ لعناصر ٕٔ ................................................... HTML
الشكؿ العاـ لصفحات ٕٕ .................................................. HTML
واصفات الوسوـ ٕٖ ................................................... ATTRIBUTES
عناصر العناويف ٕٙ .................................................... HEADINGS
عنصر الخط األفقي ٕٚ .......................................... HORIZONTAL LINE
التعميقات ٕٜ .......................................................... COMMENTS
عناصر النصوص ٖٓ ............................................... PARAGRAPHS
ٔٔٚ
عناصر تنسيؽ النصوص ٖٓ .................................... TEXT FORMATTING
المحارؼ و الرموز الخاصَّة ٖٕ ...............................SPECIAL CHARACTERS
عناصر الروابط ٖٗ .................................................. HYPER LINKS
عناصر الصور ٖٚ ....................................................... IMAGES
الصور بدّلً مف نصوص الروابط ٖٜ ..............................................
ٗٓ ................................................. IMAGE MAPS الخرائط الصورَّية
َّ
الداخمية ٕٗ .............................................. INTERNAL LINKING الروابط
القوائـ ٗٗ .................................................................. LISTS
الجداوؿ ٜٗ ...............................................................TABLES
الجداوؿ غير البسيطة ٘٘ .........................................................
٘ٛ ............................................................... FORMS النماذج
تقسيـ عناصر اإلدخاؿ إلى مجموعات ٙٚ .........................................
اإلطارات ٜٙ ............................................................. FRAMES
عناصر الػ ٕٚ .............................................................. META
دليؿ وسوـ ٚٗ ............................................................. HTML
ٚٛ ...................................................................... XHTML
قواعد ٜٚ ................................................................ XHTML
تعريؼ نوع المستند >ٜٚ ............................................. <!DOCTYPE
األنواع المختمفة لممستند ٛٓ .......................................................
التحقؽ مف صحة صفحات ٛٔ ............................................ XHTML
ٕٔٚ
ٕٛ ...................................................................... HTML5
ٖٔٚ
واحدات القياس في ٕٕٔ .....................................................CSS
نموذج الصندوؽ ٕٕٔ ........................................... CSS BOX MODEL
خصائص الحدود ٕٖٔ ................................................... BORDER
خصائص اإلزاحة الداخمية ٕٔ٘ .......................................... PADDING
خصائص اإلزاحة الخارجية ٕٔٙ .......................................... MARGIN
إخفاء العناصر ٕٔٛ .............................................................
أنواع عرض العناصر ٕٔٛ .......................................................
الشفافية ٕٜٔ ............................................................ OPACITY
التَّعويـ ٕٜٔ ............................................................ FLOATING
تعميقات ٖٕٔ ............................................................... CSS
أنواع الوسائط ٖٕٔ .................................................. MEDIA TYPES
ٖٔ٘ ......................................................... CSS دليؿ محددات
ٖٔٛ ..................................................................... CSS 3
المستعرضات الداعمة ٖٔٛ .......................................................
الحدود الجديدة ٖٜٔ .............................................. CSS3 BORDERS
الخمفيات الجديدة ٖٔٗ ....................................... CSS3 BACKGROUNDS
خصائص تنسيؽ النصوص الجديدة في ٔٗ٘ ................................ CSS3
خصائص الخطوط الجديدة في ٔٗٚ ........................................ CSS3
التحويالت اليندسية ذات البعديف ٔٗٛ ........................ 2D TRANSFORMATION
التحويالت اليندسية ثالثية األبعاد ٔ٘ٔ ....................... 3D TRANSFORMATION
ٗٔٚ
اّلنتقاؿ المتحرؾ ٔ٘ٔ ................................................ TRANSITION
حركات ٖٔ٘ .............................................................. CSS3
األعمدة المتعددة في ٔ٘٘ .................................................. CSS3
واجية المستخدـ ٔ٘ٚ ...................................... CSS3 USER INTERFACE
محددات ٔ٘ٛ ............................................................. CSS3
الخاتمة ٔٙٔ .....................................................................
فيرس األشكاؿ ٔٙ٘ .............................................................
فيرس الجداوؿٜٔٙ ..............................................................
فيرس المحتويات ٔٚٔ ...........................................................
٘ٔٚ
ٔٚٙ
عن مؤلِّف الكتاب
(سيرة ذاتية)
أدبية
ّ عممية
ّ
َّ
األدبيػػة :مختػػار اّلس ػ ػػـ الصػ ػ ػريح :مخت ػ ػػار فػ ػ ػؤاد اّلسػػـ المسػػتعار لألعمػػاؿ المعمومات
الكمالي. سيد صالح. ّ الشخصيَّة
مك ػػاف و ت ػػاريخ الم ػػيالد :س ػػوريا
ماجس ػػتير ف ػػي تقان ػػات الوي ػػب -الجامع ػػة اّلفت ارض ػ ّػية الس ػػورّية -طال ػػب حتّػػى التحصيل
تاريخو. العممي
السػورّية
جيػد ج ّػداً -الجامعػة ّ َّ
المعموماتيػة بمع ّػدؿ ّ إجازة في ىندسة الحاسوب و
متفػ ػ ّػرغ لمعمػ ػػؿ اإلبػ ػػداعي منػ ػػذ عػ ػػاـ برمجي ػػات وي ػػب -ب ػػيف
ّ مين ػػدس الخبرات
ٖٕٔٓ. ػامي ٕٕٔٓ و ٖٕٔٓ - عػػػػػػػػػػػ َ العمميَّة
عاميػ ػاً ث ػ َّػـ انتق ػػؿ ِّ
لمش ػػعر ب ػػدأ ش ػػاع اًر َّ ش ػ ػ ػ ػػركة عج ػ ػ ػ ػػرـ لمتكنولوجي ػ ػ ػ ػػا -
الفصيح في بداية .ٕٓٓٚ دمشؽ.
برمجي ػػات -عم ػػؿ ح ػػر ّ مين ػػدس
ٔٚٚ
ػب ِ -ش ػػعر -دائ ػػرة الح ػ ِّ ِ
ف ػػي َغ َي َاب ػػة ُ ػدي م ػػف النظرّي ػػة
مش ػػروعُ الفراىي ػ ّ من
الثقافػ ػ ػ ػ ػػة و اإلعػ ػ ػ ػ ػػالـ بال ّشػ ػ ػ ػ ػػارقة - حتّى التطبيػؽ البرمجػي -كتػاب إصداراته
ٕٕٔٓ. ػاني -دمش ػ ػ ػ ػػؽ
مج ػ ػ ػ ػ ّ
ػي ّ
إلكترون ػ ػ ػ ػ ّ
ٖٕٔٓ.
HTML5 & CSS3الخطػوة
مهارات
العمل
Desktop: C#, VB.NET, VB6, Java.
البرمجية
ّ
Web:
o Server-Side: ASP.NET classic and ASP.NET MVC,
PHP Classic & PHP MVC using CodeIginiter
framework., JSP.
ٔٚٛ
o Client-Side: HTML 5, CSS 3, java script & jQuery.
o Technologies: XML, JSON.
Smart phones: Android programming.
-Access.
الموس ػػـ ال ارب ػػع -اإلم ػػارات العر ّبي ػػة الثالثة عشرة -جامعػة البعػث -
المتحدة .ٕٓٔٔ - ّ حمص .ٕٜٓٓ
ي لمطمب ػ ػػة - جػ ػػائزة اإلب ػ ػػداع ِّ
الشػ ػػعر ّ الم ػ ػ ػ ػ ػػؤتمر العمم ػ ػ ػ ػ ػػي الث ػ ػ ػ ػ ػػاني –
ٜٔٚ
مس ػ ػ ػػابقة المعموماتي ػ ػ ػػة المركزي ػ ػ ػػة
البرمجي ػػات) –
ّ اّلختػ ػراع (ورش ػػة
حماة ٕ٘ٓٓ.
الممتقػ ػ ػ ػ ػ ػ ػ ػػى العربػ ػ ػ ػ ػ ػ ػ ػػي الثالػ ػ ػ ػ ػ ػ ػ ػػث
ٓٔٛ