انتقل إلى محتوى الدرس
الدرس 138
دورة لغة CSS

المرشحات البصرية في لغة CSSCSS Filters

طبّق المرشحات البصرية الفورية في لغة CSS لضبط السطوع والتباين والتدرج الرمادي والتمويه، ورسم ظلال تتبع حدود الأيقونات المفرغة وتصميم واجهات الزجاج الضبابي الأنيقة.
أقسام الدرس
8
الأمثلة
3
اللغة
العربية
تاريخ النشر
غير محدد
المشاهدات
0
محتوى الدرس
في هذا الدرس 8تصفّح المواضيع

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

مخطط يقارن مرشح العنصر وظل الأيقونة المفرغة ومرشح الخلفية الضبابي في CSS

تساعد دوال الإضاءة والأحادية اللونية على توحيد الهوية البصرية لصور البطاقات وشعارات الشركاء المتنوعة:

  • تحول دالة grayscale(100%) ألوان الصورة بالكامل إلى التدرج الرمادي المحايد بينما تبقيها 0% بألوانها الأصلية، وتمنح دالة sepia(100%) طابعاً دافئاً قديماً.
  • تضبط دالة brightness() مستوى السطوع العام حول القيمة الأصلية 100%، فالقيمة 75% تهدئ إضاءة الصورة والقيمة 115% تزيد إشراقها.
  • تعزز دالة contrast() الفارق بين المناطق المضيئة والداكنة فوق خط الأساس 100%.
CSS
.partner-photo {
  filter: grayscale(100%) brightness(92%);
  transition: filter 0.3s ease;
}
.partner-photo:hover {
  filter: grayscale(0%) brightness(104%) contrast(108%);
}

تكتمل منظومة التحكم اللوني بخمس دوال إضافية: تموه blur(4px) تفاصيل العنصر بنصف قطر يُقاس بالبكسل، وتزيد saturate(150%) تشبع الألوان وحيويتها فوق 100%، وتدير hue-rotate(90deg) صبغة كل بكسل حول عجلة الألوان ذات 360 درجة، وتعكس invert(100%) القيم اللونية بين الفاتح والداكن لمعالجة الأيقونات الأحادية، بينما تطبق opacity(80%) شفافية مدمجة ضمن خط المعالجة الرسومي.

عند إدراج شعار متجه مفرغ بصيغة SVG أو أيقونة ذات خلفية شفافة، تتجاهل خاصية box-shadow المناطق المفرغة وترسم ظلاً مستطيلاً جامداً حول الإطار الخارجي للصورة. في المقابل، تفحص دالة filter: drop-shadow(0 8px 12px rgba(15, 23, 42, 0.35)) قناة الشفافية لكل بكسل فترسم ظلاً متطابقاً يتبع انحناءات الدرع أو الشعار بدقة تامة.

CSS
.icon-box-shadow {
  box-shadow: 0 8px 16px rgba(15, 23, 42, 0.28);
}
.icon-drop-shadow {
  filter: drop-shadow(0 8px 12px rgba(15, 23, 42, 0.35));
}

يمكنك تركيب عدة دوال معاً في سطر filter واحد عبر الفصل بينها بمسافات فقط دون فواصل مثل filter: contrast(115%) grayscale(100%) sepia(35%). ولأن كل دالة تعالج النتيجة اللونية الخارجة من الدالة التي تسبقها من اليسار إلى اليمين، فإن تغيير الترتيب يغير المظهر النهائي؛ فوضع grayscale(100%) في النهاية يجرد الصورة من الدفء اللوني الذي أضافته sepia(35%) قبلها.

بينما يؤدي تطبيق filter: blur(10px) على البطاقة إلى طمس نصوصها الداخلية وإفساد قراءتها، تترك خاصية backdrop-filter: blur(10px) نصوص البطاقة حادة تماماً وتموه فقط المشهد الواقع خلفها لإنتاج تأثير الزجاج الضبابي الأنيق في الأشرطة العلوية. احرص دائماً على إقرانها بلون خلفية شبه شفاف بصيغة rgba() ليظهر التمويه من خلاله، مع تأمين خلفية احتياطية مقروءة وتفعيل الزجاج داخل استعلام الدعم @supports (backdrop-filter: blur(10px)).

CSS
.glass-panel {
  background-color: rgba(255, 255, 255, 0.92);
}
@supports (backdrop-filter: blur(10px)) {
  .glass-panel {
    background-color: rgba(255, 255, 255, 0.68);
    backdrop-filter: blur(10px);
  }
}

مختبر المرشحات البصرية التفاعلي

من الأخطاء الشائعة للمبتدئين وضع filter: blur(8px) فوق أرقام الحسابات أو رموز التحقق أو الفقرات المحجوبة مع إرسال النص الحقيقي كاملاً داخل شيفرة HTML. فبمجرد فتح أدوات المطور في المتصفح وإلغاء تفعيل خاصية filter، تنكشف البيانات الأصلية فوراً بوضوح تام؛ لذا يجب أن يتم حجب البيانات الحساسة أو ترميزها في الخادم قبل إرسال الصفحة للمتصفح.

يلخص الجدول المرجعي الآتي دوال خاصية filter العشر إلى جانب خاصية مرشح الخلفية backdrop-filter:

الدالة أو الخاصيةالقيمة المحايدةمثال عملي والأثر البصري
blur()0pxblur(6px) تمويه ضبابي بوحدات الطول فقط
brightness()100% أو 1brightness(115%) رفع أو خفض الإضاءة العامة
contrast()100% أو 1contrast(120%) إبراز التباين بين الفاتح والداكن
grayscale()0%grayscale(100%) تحويل الألوان إلى رمادي محايد
sepia()0%sepia(80%) إضفاء صبغة بنية دافئة كلاسيكية
saturate()100% أو 1saturate(150%) تعزيز تشبع الألوان وحيويتها
hue-rotate()0deghue-rotate(90deg) تدوير الألوان حول عجلة الصبغة
invert()0%invert(100%) عكس القنوات اللونية للأيقونات
opacity()100% أو 1opacity(80%) ضبط الشفافية ضمن سلسلة المرشح
drop-shadow()بلا ظلdrop-shadow(0 6px 10px rgba(0,0,0,0.3)) ظل يتبع حدود الشفافية
backdrop-filternonebackdrop-filter: blur(10px) زجاج ضبابي خلف سطح rgba()
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

في ملخص الدرس أتقنت دوال filter العشر ورسم ظلال الأيقونات المفرغة عبر drop-shadow() وتركيب المرشحات المتتالية وتصميم الزجاج الضبابي بخاصية backdrop-filter مع إدراك أن التمويه البصري لا يحجب البيانات الحساسة. وفي الخطوة التالية ستنتقل إلى درس المؤثرات الحركية في لغة CSS لبناء مشاهد حركية متعددة المراحل.

مشاركة

هل كان هذا الدرس مفيدًا؟

جارٍ تحميل الآراء…

ابنِ لغتك البرمجية

المصطلحات4

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 4 مفهومةأول بطاقة، أول خطوة
01 Alpha-Contour Drop Shadow ظل الحدود المفرغة
دالة مرشح تتتبع البكسلات غير الشفافة في الشعارات والأيقونات المفرغة بدلاً من إطارها المستطيل.
للمراجعة
02 Backdrop Filter مرشح الخلفية الضبابي
خاصية تعالج المشهد الواقع خلف العنصر شبه الشفاف لإنتاج تأثير الزجاج الضبابي دون تمويه نصوصه.
للمراجعة
03 Filter Chaining تسلسل المرشحات
جمع عدة دوال مرشح مفصولة بمسافات بحيث تُنفذ بالتتابع من اليسار إلى اليمين.
للمراجعة
04 Hue Rotation تدوير الصبغة اللونية
إزاحة ألوان البكسلات حول عجلة الألوان الدائرية البالغة 360 درجة باستخدام وحدة الدرجات.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

حروف قليلة. معنى كامل.

الاختصارات3

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 3 مفهومةأول بطاقة، أول خطوة
01 SVG SVG
Scalable Vector Graphics
تنسيق أيقونات متجهة شفافة يبرز معها تفوق دالة drop-shadow في تتبع حدود الشكل بدقة.
للمراجعة
02 DOM DOM
Document Object Model
شجرة عناصر الصفحة الحية في المتصفح حيث تظل النصوص المموهة بصرياً مقروءة بالكامل في أدوات المطور.
للمراجعة
03 RGBA RGBA
Red Green Blue Alpha
صيغة اللون شبه الشفاف اللازمة للسماح بظهور تأثير التمويه الخلفي عبر خاصية backdrop-filter.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

من الفهم للتطبيق

مهامك قبل الاختبار

خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.

0/2مهام منجزة
  1. طبّق دالة drop-shadow داخل خاصية filter على أيقونة shield-icon.svg ليتبع الظل انحناءات الدرع بدقة.

  2. نسق بطاقة فوق صورة الغروب بلون rgba احتياطي مع ترقيتها باستعلام @supports وخاصية backdrop-filter بقيمة 10px.

تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.

مساحة التحدي

اختبر فهمك.
ووصلها للإتقان.

كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.

8أسئلة 2أنواع تحديات 100%هدف الإتقان
تصحيح تلقائي. فرص بلا حدود.

أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.

الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.

لمحة عن التحدي8 أسئلة تنتظرك
01

لماذا تُفضل دالة drop-shadow داخل خاصية filter على box-shadow عند تظليل شعار SVG شفاف الخلفية؟

02

كيف تجمع أكثر من دالة مرشح معاً داخل خاصية filter واحدة؟

03

ما الشرط البصري الواجب توافره في خلفية البطاقة لكي يظهر تأثير backdrop-filter بوضوح؟

04

ما نوع وحدة القياس المقبولة داخل دالة التمويه blur في CSS؟

05

ما القيمة المرجعية التي تبقي إضاءة الصورة وتباينها دون أي تغيير في دالتي brightness و contrast؟

06

لماذا يُحظر الاعتماد على التمويه البصري filter: blur لإخفاء أرقام الحسابات أو البيانات الحساسة؟

07

تعالج خاصية filter البكسلات لحظياً في المتصفح دون تعديل ملف الصورة الأصلي المخزن على الخادم.

08

لا يؤثر تغيير ترتيب الدوال المتتالية مثل sepia ثم grayscale في المظهر البصري النهائي للصورة.