# أوراق الأنماط المتتالية

صفحات التنسيق النمطية (بالإنجليزية: Cascading Style Sheets)‏ اختصارًا: سي إس إس (بالإنجليزية: CSS)‏؛ هي لغة تنسيق لصفحات الويب تهتم بشكل وتصميم المواقع، صممت خصيصا لفصل التنسيق (الألوان - الخطوط - الأزرار....) عن محتوى المستند المكتوب (بلغة مثلا لغة توصيف النص الفائق (بالإنجليزية: HTML)‏) وينطبق ذلك على الألوان والخطوط والصور والخلفيات التي تستخدم في الصفحات، بمرونة وسهولة تامة.
هذه التقنية تعنى بالمظهر الكلي لصفحات مواقع الويب من ألوان وصور وغيره. ويمكن إضافته للصفحة بعدة طرق أفضلها التضمين الخارجي بكتابة شفرة السي إس إس في ملف منفصل. وقد تم تطويرها لتصل حاليا إلى سي إس إس 3 والذي أضيف إليه عدة إضافات لم تكن متاحة في الإصدار السابق وكان إنجازها يتم فقط بـجي كويري.
أطلقها مجلس وب رابطة الشبكة العالمية، كمواصفة قياسية لتوصيف مظهر وثائق وب من محددات للخطوط والألوان والتنسيق.

## مميزات تقنية سي إس إس

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

## بنية شيفرات سي إس إس

تتألف هذه الشيفرة من مجموعة من القواعد (بالإنجليزية: rules)‏، والتي تتألف بدورها من مُحدِّد (بالإنجليزية: selector)‏ ثم قائمة بالخاصيات والقيم المُسنَدة إليها. فمثلًا لو أردنا تحديد جميع الفقرات (العنصر <p>) في مستند HTML وتحويل لونها إلى الأحمر (عبر الخاصية color) فسنكتب الشيفرة الآتية:
شفرة السي إس إس هي مجموعة من التعريفات لكل عنصر، وبالتالي يمكن أن يكون لدينا 100 تعريف لـ 100 عنصر وهكذا
كل تعريف يبدأ باسم أو بتعريف العنصر (كـ id أو class العنصر)
فمثلا لنأخذ العنصر div
الذي يكتب بإتش تي إم إل كـ :
سنقوم بإعطاء هذا العنصر لونا أزرق، كما نرى بالأعلى أن عنصر ديف تم تعيين المعرف (id) ب‍ar_wiki وبالتالي يتم كتابته كـ #ar_wiki بصفحة الأنماط
لأن كل عنصر يتم تعريفه بـdiv يكون قبله (#) وأي عنصر يتم تعريفه بclass يكون قبله نقطة (.) عند كتابته بصفحة الأنماط.
وبالتالي يكون الشكل التالي هو التعريف لإعطاء العنصر اللون الأزرق:
والتالي هو شرح الشفرة:
* #ar_wiki: تعريف العنصر المراد تطبيق التنسيق عليه، وهو ما تم تعريف بصفحة الإتش تي إم إل لعنصر div.
* {...} كل تنسيق يتم إحاطته بهذه الأقواس المعكوفة لتوضيح تنسيق كل عنصر على حده.
* color: هي صفة التنسيق المراد تطبيقه على العنصر، وهنا تم وضع color أي اللون.
* (:): توضع النقطتين الرئيسيتين لتوضح إن ما بعدها هو قيمة الصفة، وبالتالي هي فاصل بين الصفة وقيمتها.
* blue: قيمة للصفة وهنا تم وضع القيمة blue أي الأزرق للصفة color اللون.
* (;): يتم وضع النقطة المنقوطة بعد القيمة لإخبار المعالج أن القيمة انتهت وما سيأتي بعدها هو صفة أخرى وهكذا.
تعريف الصفة class وإضافة خواص لها
تكون هذه الخاصية لمجموعة من العناصر في الصفحة مثلاً
الناتج سيكون تغير لون الفقرة إلى اللون الأحمر وضبط الخط إلى مقاس 20px

## الخلفيات

| الخاصية | الوصف |
| background | الخاصية background المختصرة في CSS تسمح لنا بتعديل خيارات تنسيق الخلفية كلها دفعةً واحدةً، بما في ذلك اللون أو الصورة، والمبدأ والحجم، وطريقة التكرار، وغير ذلك من الميزات. يمكن استخدام الخاصية background لضبط قيم خاصية أو أكثر من الخاصيات الآتية: background-clip، و background-color، و background-image، و background-origin، وbackground-position، و background-repeat، و background-size، و background-attachment. |
| background-attachment | تُحدِّد إذا كان موضع الصورة (المُحدَّدة عبر الخاصية background-image) ثابتًا (fixed) ضمن إطار العرض (viewport) أو كان سيُمرَّر عند التمرير في العنصر (أو الصفحة) الحاوي له. |
| background-blend-mode | تصف كيف يجب أن تمتزج صور الخلفية مع بعضها بعضًا ومع لون الخلفية المُحدَّد للعنصر. |
| background-clip | تُحدِّد كيف أين ستتوقف خلفية العنصر على حدود العنصر، سواء كانت الخلفية لونًا <color> أو صورة <image>. |
| background-color | تضبط لون الخلفية لأحد العناصر، ويكون لون الخلفية قيمةً لونيةً <color>. |
| background-image | تضبط صورةً أو أكثر على أنها خلفية للعنصر. |
| background-origin | تُحدِّد مبدأ صورة الخلفية المُحدَّدة عبر الخاصية background-image. |
| background-position | تضبط الموضع المبدئي لكل صورة خلفية، وذلك نسبةً إلى المبدأ المُعرَّف في الخاصية background-origin. |
| background-repeat | تُعرِّف كيف ستتكرر صورة الخلفية؛ إذ يمكن أن تتكرر صورة الخلفية على المحور الأفقي، أو على المحور الرأسي، أو على كلا المحوري، ويمكن ألّا تتكرر أبدًا. |
| background-size | تُحدِّد أبعاد صورة الخلفية للعنصر؛ ويمكن أن تُترَك الأبعاد الابتدائية للصورة، أو تُغيّر إلى أبعاد جديدة، أو يمكن ملء المساحة المتوافرة بها مع الحفاظ على نسبة الأبعاد. |
| box-shadow | تصف تأثير الظلال على العنصر، ويمكن إضافة ظل أو أكثر باستخدام هذه الخاصية. |

## الإطارات
### شكل الإطار

| الخاصية | الوصف |
| border | الخاصية border في CSS هي خاصية مختصرة تؤدي إلى ضبط قيم الخاصيات التي تتحكم بإطار العنصر في آنٍ واحد، وهي: border-color و border-style و border-width، وكما في جميع الخاصيات المختصرة، أيّ قيمة غير مُحدِّدة سيُعاد ضبطها إلى قيمتها الابتدائية، أضف إلى ذلك أنَّ الخاصية border لا يمكن أن تُستخدَم لتحديد قيمة للخاصية border-image وإنما ستضبِط قيمتها إلى القيمة الابتدائية none. |
| border-bottom | الخاصية border-bottom في CSS هي خاصية مختصرة تؤدي إلى ضبط قيم الخاصيات border-bottom-color و border-bottom-style و border-bottom-width، هذه الخاصيات تصف كيفية عرض الإطار border السفلي للعنصر. |
| border-bottom-color | تُحدِّد لون الإطار السفلي الخاص بالعنصر. لاحظ أنَّه في أغلبية الحالات يُفضَّل استخدام خاصيات CSS المختصرة مثل border-color أو border-bottom. |
| border-bottom-style | تُحدِّد شكل خط الإطار السفلي الخاص بالعنصر. |
| border-bottom-width | تضبط عرض الإطار السفلي للعنصر. |
| border-color | تُحدِّد لون إطار العنصر على جميع وجوهه: العلوي (border-top-color) والأيمن (border-right-color) والسفلي (border-bottom-color) والأيسر (border-left-color). |
| border-image | تسمح برسم صورة على إطار العنصر، وهذا يجعل إنشاء عناصر لها مظهر مخصص أمرًا سهلًا. ستُستخدَم الخاصية border-image بدلًا من أشكال الإطارات التي يمكن تعريفها عبر الخاصية border-style. |
| border-image-outset | تُحدِّد كم ستمتد صورة الإطار بعد الحافة الخارجية للإطار. |
| border-image-repeat | تُعرِّف كيفية عرض الجزء الأوسط من صورة الإطار لكي تُطابِق أبعاد الإطار. ويمكن استخدام قيمة واحدة لهذه الخاصية لضبط سلوك جميع الحواف، أو يمكن تحديد قيمتين لضبط سلوك الحواف الأفقية والرأسية كلًا على حدة. |
| border-image-slice | تُقسِّم الصورة المُحدَّدة عبر الخاصية border-image-source إلى تسع مناطق: الأركان الأربعة، والحواف الأربع، والوسط. |
| border-image-source | تُعرِّف صورةً <image> لتُستخدَم بدلًا من الإطار، وإذا ضُبِطَت هذه الخاصية إلى none، فسيُستخدَم الشكل المُعرَّف في الخاصية border-style. |
| border-image-width | تُعرِّف عرض صورة الإطار بتحديد بعدها عن حافة الإطار الخارجية، وإذا كانت قيمة الخاصية border-image-width أكبر من قيمة الخاصية border-width، فستمتد صورة الإطار إلى ما بعد حافة الحاشية (padding) أو حافة المحتوى (content). |
| border-left | الخاصية border-left في CSS هي خاصية مختصرة تؤدي إلى ضبط قيم الخاصيات border-left-color و border-left-style و border-left-width، هذه الخاصيات تصف كيفية عرض الإطارborder الأيسر للعنصر. |
| border-left-color | تُحدِّد لون الإطار الأيسر الخاص بالعنصر. لاحظ أنَّه في أغلبية الحالات يُفضَّل استخدام خاصيات CSS المختصرة مثل border-color أو border-left. |
| border-left-style | تُحدِّد شكل خط الإطار الأيسر الخاص بالعنصر. |
| border-left-width | تضبط عرض الإطار الأيسر للعنصر. |
| border-right | الخاصية border-right في CSS هي خاصية مختصرة تؤدي إلى ضبط قيم الخاصيات border-right-color و border-right-style و border-right-width، هذه الخاصيات تصف كيفية عرض الإطار border الأيمن للعنصر. |
| border-right-color | تُحدِّد لون الإطار الأيمن الخاص بالعنصر. لاحظ أنَّه في أغلبية الحالات يُفضَّل استخدام خاصيات CSS المختصرة مثل border-color أو border-right. |
| border-right-style | تُحدِّد شكل خط الإطار الأيمن الخاص بالعنصر. |
| border-right-width | تضبط عرض الإطار الأيمن للعنصر. |
| border-style | تُحدِّد شكل خط الإطار الخاص بالعنصر لجميع وجوهه (الأيمن والأيسر والعلوي والسفلي). |
| border-top | الخاصية border-top في CSS هي خاصية مختصرة تؤدي إلى ضبط قيم الخاصيات border-top-color و border-top-style و border-top-width، هذه الخاصيات تصف كيفية عرض الإطارborder العلوي للعنصر. |
| border-top-color | تُحدِّد لون الإطار العلوي الخاص بالعنصر. لاحظ أنَّه في أغلبية الحالات يُفضَّل استخدام خاصيات CSS المختصرة مثل border-color أو border-top. |
| border-top-style | تُحدِّد شكل خط الإطار العلوي الخاص بالعنصر. |
| border-top-width | تضبط عرض الإطار العلوي للعنصر. |
| border-width | الخاصية border-width المختصرة في CSS تضبط عرض إطار العنصر على جميع وجوهه: العلوي (border-top-width) والأيمن (border-right-width) والسفلي (border-bottom-width) والأيسر (border-left-width). |

## برمجته وتحريره

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

## إصداراته

الإصدار العامل حاليا من تقنية سي إس إس هو الإصدار 3، الذي صمم ليتعامل مع إتش تي إم إل5

## المتصفحات والدعم الخاص فيه

تدعم متصفحات ويب المواصفة بدرجات مختلفة من الكفاءة والتوافقية؛ فبينما يدعم كل من فايرفوكس ومتصفح أوبرا المواصفة بدرجة معقولة، وبالنسبة لمتصفح إنترنت إكسبلورر فيتوقع منه نسخة جديدة معدلة لتناسب وتلبي احتياجات الويب حاليا ومايكروسوفت أعلنت عند طرحها إصدارا جديدا من متصفح إنترنت إكسبلورر (IE7) مشتملا على الكثير من الإضافات التي تجعل تصفح الإنترنت أكثر أمانا، ومنها تطبيقات مضادة لبرامج التجسس (spyware) والفيروسات ومواقع الاحتيال حيث تم بالفعل إصدار النسخة السابعة من متصفح إنترنت إكسبلورر وتم بعده إصدار نسخة جديدة تحمل الرقم 8 وفي وقتٍ لاحق تم إصدار نسخة باسم مايكروسوفت إيدج تزامنا مع إصدار ويندوز 10.

## وصلات خارجية

* صفحة التقنية على موقع دبليو3
* وسائط من كومنز
* كتب من ويكي الكتب
عنتمتصفحات الويب :
مقارنة
وزن خفيف  $^{[لغاتأخرى]}$‏
التاريخ
قائمة
Unix & Unix-like  $^{[لغاتأخرى]}$‏
جدول زمني
حصة الاستخدام :
حاسوب مكتبي :
متصفحات الجوال :
التلفزيون ومشغل ألعاب الفيديو :
البرامج التي لم تعد قيد التطوير تظهر بالأحرف المائلة
تصنيف:متصفحات ويب
Commons
 بوابة إنترنت
 بوابة برمجيات :
* بوابة إنترنت
* بوابة برمجة الحاسوب
* بوابة برمجيات
* بوابة تقانة المعلومات
* بوابة علم الحاسوب