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

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

معلومات عامة| التصنيف |
صيغة ملف — لغة برمجة — لغة طراز لأوراق العمل  |
| ظهرت في |
17 ديسمبر 1996  |

التطوير| المطور |
CSS Working Group  — بيرت بوس — هاكون فيوم لاي  |
| الإصدار الأول |
 17 ديسمبر 1996  |
| المستودع |
github.com…  |

متفرقات| امتدادات الملفات |
css  |
| موقع الويب |
w3.org… (الإنجليزية)  |

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

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

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

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

تهدف تقنية سي إس إس إلى فصل محتوى الصفحات عن مظهرها بحيث يعطي عدة مكاسب:

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

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

تتألف هذه الشيفرة من مجموعة من القواعد (الإنجليزية: *rules*)، والتي تتألف بدورها من مُحدِّد (الإنجليزية: *selector*) ثم قائمة بالخاصيات والقيم المُسنَدة إليها. فمثلًا لو أردنا تحديد جميع الفقرات (العنصر `<p>`) في مستند HTML وتحويل لونها إلى الأحمر (عبر الخاصية `color`) فسنكتب الشيفرة الآتية:

```
p {
 color: red;
}

```

شفرة السي إس إس هي مجموعة من التعريفات لكل عنصر، وبالتالي يمكن أن يكون لدينا 100 تعريف لـ 100 عنصر وهكذا

كل تعريف يبدأ باسم أو بتعريف العنصر (كـ id أو class العنصر)

فمثلا لنأخذ العنصر div

الذي يكتب بإتش تي إم إل كـ :

```
<div id="ar\_wiki">اهلا وسهلا بالويكي العربي</div>

```

سنقوم بإعطاء هذا العنصر لونا أزرق، كما نرى بالأعلى أن عنصر ديف تم تعيين المعرف (id) ب‍ar\_wiki وبالتالي يتم كتابته كـ #ar\_wiki بصفحة الأنماط

لأن كل عنصر يتم تعريفه بـdiv يكون قبله (#) وأي عنصر يتم تعريفه بclass يكون قبله نقطة (.) عند كتابته بصفحة الأنماط.

وبالتالي يكون الشكل التالي هو التعريف لإعطاء العنصر اللون الأزرق:

```
# ar\_wiki { color:blue; }

```

والتالي هو شرح الشفرة:

* #ar\_wiki: تعريف العنصر المراد تطبيق التنسيق عليه، وهو ما تم تعريف بصفحة الإتش تي إم إل لعنصر div.
* {...} كل تنسيق يتم إحاطته بهذه الأقواس المعكوفة لتوضيح تنسيق كل عنصر على حده.
* color: هي صفة التنسيق المراد تطبيقه على العنصر، وهنا تم وضع color أي اللون.
* (:): توضع النقطتين الرئيسيتين لتوضح إن ما بعدها هو قيمة الصفة، وبالتالي هي فاصل بين الصفة وقيمتها.
* blue: قيمة للصفة وهنا تم وضع القيمة blue أي الأزرق للصفة color اللون.
* (;): يتم وضع النقطة المنقوطة بعد القيمة لإخبار المعالج أن القيمة انتهت وما سيأتي بعدها هو صفة أخرى وهكذا.

تعريف الصفة class وإضافة خواص لها

تكون هذه الخاصية لمجموعة من العناصر في الصفحة مثلاً

```
.myclass { color:red; font-size:20px; }

```

```
<p class="myclass">يمكن تكرار هذه الخاصية بالصفحة لعناصر متعددة</p>
<p class="myclass">هذا سطر اخر بنفس الخاصية</p>

```
الناتج سيكون تغير لون الفقرة إلى اللون الأحمر وضبط الخط إلى مقاس 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