English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

مرشحات CSS3 (Filters)

تقدم تأثيرات الفلاتر CSS3 طريقة سهلة لتطبيق تأثيرات الفيديو على الصور.

فهم وظائف الفلاتر CSS3

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

يمكن تطبيق تأثيرات الفلاتر باستخدام خاصية filter CSS3 على العناصر، وتقبل هذه الخاصية ترتيبًا واحدًا أو أكثر من وظائف الفلاتر. مثال على الاستخدام كالتالي:

filter:	 blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | sepia() | saturate() | url();

تحذير:لا يدعم متصفح Internet Explorer أي نسخة الحالي تأثير الفلاتر CSS3. يدعم إصدارات Internet Explorer القديمة خاصية filter غير المعيارية لإنشاء تأثيرات مثل الشفافية، ولكن تم إلغاء هذه الميزة.

تأثير الغبار

يمكن استخدام ميزة blur() في Photoshop مثل تأثير الغبار العكسي للتطبيق على العناصر. تتخذ هذه الوظيفة قيمة الطول CSS كمعلمة لتحديد نصف قطر الغبار. ستؤدي القيم الأكبر إلى غبار أكثر. إذا لم يتم تقديم المعلمة، يتم استخدام القيمة 0.

img {
    -webkit-filter: blur(5px); /* Chrome, Safari, Opera */
    filter: blur(5px);
}
التحقق من ذلك‹/›

—النتيجة المطلوبة من المثال أعلاه كما يلي:

 
 
 
blur(0)blur(2px)blur(5px)

ضبط لمعان الصورة

يمكن استخدام وظيفة brightness() لضبط لمعان الصورة. القيمة 0% تخلق صورة سوداء بالكامل. بينما القيمة 100% أو 1 تحافظ على الصورة كما هي. القيم الأخرى هي مضاعفات خطية للآثار.

يمكنك أيضًا ضبط اللمعان إلى قيمة أعلى من 100% مما يجعل الصورة أكثر إشراقًا. إذا كان معامل الكمية مفقودًا، يتم استخدام القيمة 1. لا يُسمح بالقيم السلبية.

img.bright {
    -webkit-filter: brightness(200%); /* Chrome, Safari, Opera */
    filter: brightness(200%);
}
img.dark {
    -webkit-filter: brightness(50%); /* Chrome, Safari, Opera */
    filter: brightness(50%);
}
التحقق من ذلك‹/›

—النتيجة المطلوبة من المثال أعلاه كما يلي:

 
 
 
brightness(50%)brightness(100%)brightness(200%)

ملاحظة:75% تقبل القيم المعبّرة بال百分比 (مثل) وظيفة المرشح تقبل القيم المعبّرة بالسلاسل العشرية (مثل 0.75). إذا كانت القيمة غير صالحة، فإن الوظيفة تعود none ولا يتم تطبيق أي تأثير مرشح.

تعديل درجة تباين الصورة

وظيفة contrast() تستخدم لتعديل درجة التباين في الصورة. القيمة 0% تخلق صورة سوداء بالكامل. بينما القيمة 100% أو 1 تحافظ على الصورة كما هي. يسمح أيضًا بالقيم أعلى من 100% لتقديم نتائج تباين أقل. إذا كان معامل الكمية مفقودًا أو تم تمريره، يتم استخدام القيمة 1.

img.bright {
    -webkit-filter: contrast(200%); /* Chrome, Safari, Opera */
    filter: contrast(200%);
}
img.dim {
    -webkit-filter: contrast(50%); /* Chrome, Safari, Opera */
    filter: contrast(50%);
}
التحقق من ذلك‹/›

—النتيجة المطلوبة من المثال أعلاه كما يلي:

 
 
 
contrast(50%)contrast(100%)contrast(200%)

إضافة ظل إلى الصورة

يمكنك استخدام وظيفة drop-shadow() لتطبيق تأثير الظل على الصور في Photoshop وما إلى ذلك. هذا الوظيفة تشبهbox-shadowخصائص.

img {
    -webkit-filter: drop-shadow(4px 4px 10px orange); /* Chrome, Safari, Opera */
    filter: drop-shadow(4px 4px 10px orange);
}
التحقق من ذلك‹/›

—النتيجة المطلوبة من المثال أعلاه كما يلي:

 
 
 
drop-shadow(0)drop-shadow(2px 2px 4px orange)drop-shadow(4px 4px 10px orange)

ملاحظة:تعين المعامل الأول والثاني من وظيفة drop-shadow() الإزاحة الأفقية والعمودية للظل، بينما يعين المعامل الثالث نصف قطر الغموض، والمعامل الأخير لون الظل، تمامًا مثل الخاصية box-shadow، ولكن هناك استثناء واحد، لا يمكن استخدام الكلمة المفتاحية 'inset'.

تحويل الصورة إلى درجات الرمادي

يمكن استخدام الوظيفة grayscale() لتحويل الصورة إلى درجات الرمادي. القيمة 100% تعني درجات الرمادي الكامل. القيمة 0% تترك الصورة كما هي. القيم بين 0% و100% هي في مقياس التكامل. إذا كان يفتقر إلى معامل الكمية، يتم استخدام القيمة 0.

img.complete-gray {
    -webkit-filter: grayscale(100%); /* Chrome, Safari, Opera */
    filter: grayscale(100%);
}
img.partial-gray {
    -webkit-filter: grayscale(50%); /* Chrome, Safari, Opera */
    filter: grayscale(50%);
}
التحقق من ذلك‹/›

—النتيجة المطلوبة من المثال أعلاه كما يلي:

 
 
 
grayscale(0)grayscale(50%)grayscale(100%)

تطبيق دوران الألوان على الصورة

الوظيفة hue-rotate() تطبق دوران الألوان على الصورة. يعين المعامل القيم التي يتم تعديلها من دائرة الألوان للعينة الصور. القيمة 0deg تترك الصورة كما هي. إذا كان angle يفتقر إلى معامل ' '، يتم استخدام القيمة 0deg. لا يوجد قيمة أعلى، ويعود التأثير إلى 360deg.

img.hue-normal {
    -webkit-filter: hue-rotate(150deg); /* Chrome, Safari, Opera */
    filter: hue-rotate(150deg);
}
img.hue-wrap {
    -webkit-filter: hue-rotate(480deg); /* Chrome, Safari, Opera */
    filter: hue-rotate(480deg);
}
التحقق من ذلك‹/›

—النتيجة المطلوبة من المثال أعلاه كما يلي:

 
 
 
hue-rotate(0)hue-rotate(150deg)hue-rotate(480deg)

تأثير العكس

يمكن استخدام دالة invert() لتطبيق تأثير العكس مثل Photoshop على الصورة. القيمة 100% أو 1 هي العكس الكامل. القيمة 0% تترك المدخلات كما هي. القيم بين 0% و100% هي مضاعفة خطية للeffet. إذا كان parameter 'amount' مفقودًا، يتم استخدام القيمة 0. لا يُسمح باستخدام القيم السلبية.

img.partially-inverted {
    -webkit-filter: invert(80%); /* Chrome, Safari, Opera */
    filter: invert(80%);
}
img.fully-inverted {
    -webkit-filter: invert(100%); /* Chrome, Safari, Opera */
    filter: invert(100%);
}
التحقق من ذلك‹/›

—النتيجة المطلوبة من المثال أعلاه كما يلي:

 
 
 
invert(0)invert(80%)invert(100%)

تطبيق عدم الشفافية على الصورة

يمكن استخدام الوظيفة opacity() لضبط شفافية الصورة. القيمة 0% هي شفافية كاملة. القيمة 100% أو 1 تترك الصورة كما هي. القيم بين 0% و100% هي مضاعفة خطية للeffet. إذا كان parameter 'amount' مفقودًا، يتم استخدام القيمة 1. هذا الوظيفة تشبهopacityخصائص.

img {
    -webkit-filter: opacity(80%); /* Chrome, Safari, Opera */
    filter: opacity(80%);
}
التحقق من ذلك‹/›

—النتيجة المطلوبة من المثال أعلاه كما يلي:

 
 
 
opacity(100%)opacity(80%)opacity(30%)

تطبيق تأثير البني القهوي على الصورة

الوظيفة sepia() تتحول الصورة إلى اللون البني القهوي. القيمة 100% أو 1 هي اللون البني الداكن. القيمة 0% تترك الصورة كما هي. القيم بين 0% و100% هي مضاعفة خطية للeffet.

img.complete-sepia {
    -webkit-filter: sepia(100%); /* Chrome, Safari, Opera */
    filter: sepia(100%);
}
img.partial-sepia {
    -webkit-filter: sepia(30%); /* Chrome, Safari, Opera */
    filter: sepia(30%);
}
التحقق من ذلك‹/›

—النتيجة المطلوبة من المثال أعلاه كما يلي:

 
 
 
sepia(0%)sepia(30%)sepia(100%)

نصيحة:في التصوير، يعتبر التطبيق البني الفاتح طريقة خاصة لمعالجة الصور السوداء والبيضاء ليعطي الصور لونًا دافئًا (أحمر بني) لتحسين جودة الأرشيف.

تعديل تشبع الصورة

يمكن استخدام وظيفة saturate() لضبط درجة التشبع في الصورة. القيمة 0% تعني عدم التشبع تمامًا. القيمة 100% تؤدي إلى الحفاظ على الصورة كما هي. القيم الأخرى هي مضاعفات خطية للنتيجة. يسمح أيضًا بالقيم فوق 100% لتقديم نتائج تشبع زائدة. إذا كان Parameter 'amount' مفقودًا، يتم استخدام القيمة 1.

img.un-saturated {
    -webkit-filter: saturate(0%); /* Chrome, Safari, Opera */
    filter: saturate(0%);
}
img.super-saturated {
    -webkit-filter: saturate(200%); /* Chrome, Safari, Opera */
    filter: saturate(200%);
}
التحقق من ذلك‹/›

—النتيجة المطلوبة من المثال أعلاه كما يلي:

 
 
 
saturate(100%)saturate(200%)saturate(0%)

ملاحظة:يحدد دالة url() استدعاء مرشح لعدد معين من عناصر المرشح. على سبيل المثال، url(commonfilters.svg#foo). إذا كان الاستدعاء يشير إلى عنصر غير موجود أو العنصر المشار إليه ليس عنصر مرشح، فإن سلسلة المرشحات بأكملها ستُتجاهل. لا يتم تطبيق أي مرشح على العنصر.