خلفية CSS

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

مرجع سريع لخصائص الخلفية

الخاصية القيم الشائعة الغرض
background-color #f5f5f5، red، rgba(255,0,0,0.3) لون الخلفية
background-image url("bg.jpg")، linear-gradient(...) صورة خلفية أو تدرج
background-repeat no-repeat، repeat، repeat-x، repeat-y طريقة تكرار الخلفية
background-position center، top left، 50% 50% موضع صورة الخلفية
background-size cover، contain، 100% auto حجم صورة الخلفية
background-attachment scroll، fixed، local هل الخلفية تتحرك مع الصفحة
background #333 url("bg.jpg") no-repeat center اختصار، يجمع عدة خصائص

1. لون الخلفية

background-color يُعيّن لون خلفية العنصر، يدعم أي قيمة لون صالحة:

مثال

HTML
<style>
.box {
  background-color: #f5f5f5;
}
.highlight {
  background-color: rgba(255, 255, 0, 0.3);
}
</style>
<div class="box">عنصر صندوق يُظهر لون الخلفية</div>
<div class="highlight">هذا النص له خلفية مميزة</div>
▶ جرّب الكود

2. صورة الخلفية

background-image يُعيّن صورة خلفية للعناصر:

مثال

HTML
<style>
.banner {
  background-image: url("/assets/images/tutorials/css-banner.jpg");
  height: 200px;
  background-size: cover;
  background-position: center;
}
</style>
<div class="banner">منطقة عرض محتوى البانر</div>
▶ جرّب الكود

يمكن تعيين صور خلفية متعددة، مفصولة بفواصل، والأولى في الأعلى:

مثال

HTML
<style>
.multi-bg {
  background-image: url("/assets/images/tutorials/css-star.png"), url("/assets/images/tutorials/css-bg.jpg");
  height: 200px;
  background-size: 50px, cover;
  background-repeat: no-repeat, repeat;
  background-position: center, top left;
}
</style>
<div class="multi-bg">تأثير تراكب خلفيات متعددة</div>
▶ جرّب الكود

صورة الخلفية مقابل علامة <img>

3. تكرار الخلفية

يتحكم في تكرار/تبليط صور الخلفية:

مثال

HTML
<style>
.no-repeat {
  background-image: url("/assets/images/tutorials/css-star.png");
  background-repeat: no-repeat;
  background-color: #f0f0f0;
  height: 100px;
}
.repeat-x {
  background-image: url("/assets/images/tutorials/css-star.png");
  background-repeat: repeat-x;
  background-color: #e3f2fd;
  height: 100px;
}
</style>
<div class="no-repeat">بدون تكرار (صورة واحدة)</div>
<div class="repeat-x">تكرار أفقي</div>
▶ جرّب الكود

4. حجم الخلفية

يتحكم في أبعاد صورة الخلفية:

مثال

HTML
<style>
.cover {
  background-image: url("/assets/images/tutorials/css-banner.jpg");
  background-size: cover;
  background-position: center;
  height: 200px;
}
.contain {
  background-image: url("/assets/images/tutorials/css-banner.jpg");
  background-size: contain;
  background-repeat: no-repeat;
  height: 200px;
}
</style>
<div class="cover">غطاء: يملأ الحاوية، قد يقص الزائد</div>
<div class="contain">احتواء: يُظهر الصورة كاملة، قد يترك فراغاً</div>
▶ جرّب الكود

5. موضع الخلفية

يتحكم في موضع صورة الخلفية داخل العنصر:

مثال

HTML
<style>
.center {
  background-image: url("/assets/images/tutorials/css-star.png");
  background-repeat: no-repeat;
  background-position: center;
  background-color: #f5f5f5;
  height: 100px;
}
.top-right {
  background-image: url("/assets/images/tutorials/css-star.png");
  background-repeat: no-repeat;
  background-position: top right;
  background-color: #e3f2fd;
  height: 100px;
}
</style>
<div class="center">خلفية مُوَسَّطة</div>
<div class="top-right">خلفية في الزاوية العلوية اليمنى</div>
▶ جرّب الكود

6. اختصار الخلفية

اختصار background يجمع جميع خصائص الخلفية:

مثال

HTML
<style>
.shorthand {
  background: #333 url("/assets/images/tutorials/css-banner.jpg") no-repeat center/cover;
  height: 200px;
  color: white;
}
</style>
<div class="shorthand">اختصار خلفية بلون وتكرار وموضع وحجم</div>
▶ جرّب الكود

❓ أسئلة شائعة

س ما الفرق بين `background-size: cover` و`contain`؟
ج cover يملأ الحاوية بأكملها مع الحفاظ على نسبة العرض إلى الارتفاع، يقص الأجزاء الزائدة. contain يُظهر الصورة كاملة داخل الحاوية، قد يترك فراغاً. استخدم cover للخلفيات التي تمتد لتملأ العرض، وcontain عندما تحتاج لإظهار الصورة بأكملها.
س هل يمكن استخدام صور خلفية متعددة؟
ج نعم! افصل الخلفيات المتعددة بفواصل. الأولى تظهر في الأعلى. مثال: `background: url("overlay.png"), url("bg.jpg");`. غالباً يُدمج مع التدرجات لتأثيرات التراكب.
س ما الفرق بين `background-attachment: fixed` و`scroll`؟
ج fixed يُبقي الخلفية ثابتة عند التمرير (تأثير المنظور)، scroll يتحرك مع الصفحة (افتراضي). fixed يُنشئ إدراكاً للعمق لكن قد يؤثر على أداء الأجهزة المحمولة.

📖 ملخص

📝 تمارين

  1. أنشئ بانر بعرض كامل باستخدام اختصار background مع صورة مُوَسَّطة بدون تكرار.
  2. أنشئ تأثير منظور باستخدام background-attachment: fixed مع قسمين على الأقل.
  3. أنشئ تراكب خلفيات متعددة: قناع تدرج + صورة أساسية على نفس العنصر.
100%