फ़िल्टर

सीएसएस पॉडकास्ट - 023: फ़िल्टर

मान लें कि आपको एक ऐसा एलिमेंट बनाना है जो इमेज के सबसे ऊपर मौजूद होता है. टेक्स्ट लाइव टेक्स्ट होना चाहिए, इमेज नहीं. इसे कैसे किया जा सकता है?

सीएसएस फ़िल्टर और backdrop-filter को मिलाकर, हम रीयल टाइम में इफ़ेक्ट लागू कर सकते हैं और ज़रूरी इफ़ेक्ट को धुंधला कर सकते हैं. धुंधला और अपारदर्शिता कई तरह के फ़िल्टर में से दो हैं. इसलिए, चलो देखते हैं कि वे सभी क्या करते हैं और उन्हें कैसे इस्तेमाल करना है.

filter प्रॉपर्टी

ब्राउज़र सहायता

  • 53
  • 12
  • 35
  • 9.1

सोर्स

filter की वैल्यू के तौर पर, इनमें से एक या कई फ़िल्टर लागू किए जा सकते हैं. अगर आपने कोई फ़िल्टर गलत तरीके से लागू किया है, तो filter के लिए तय किए गए बाकी फ़िल्टर काम नहीं करेंगे.

blur

इसमें गाउज़ियन ब्लर इफ़ेक्ट लगाया जाता है. सिर्फ़ radius आर्ग्युमेंट का इस्तेमाल किया जा सकता है, जिसका मतलब है कि कितना धुंधला किया गया है. यह एक लंबाई की इकाई होना चाहिए, जैसे कि 10px. प्रतिशत स्वीकार नहीं किए जाते.

.my-element {
    filter: blur(0.2em);
}

brightness

ब्राउज़र सहायता

  • 18
  • 12
  • 35
  • 6

सोर्स

किसी तत्व की चमक बढ़ाने या घटाने के लिए, चमक फ़ंक्शन का उपयोग करें. चमक की वैल्यू को प्रतिशत के रूप में दिखाया जाता है. इसमें बिना बदलाव वाली इमेज को 100% वैल्यू के तौर पर दिखाया जाता है. मान को 0% करने से इमेज पूरी तरह से काली हो जाती है, इसलिए 0% से 100% के बीच की वैल्यू इमेज में कम रोशनी डालती है. चमक बढ़ाने के लिए 100% से ज़्यादा वैल्यू का इस्तेमाल करें.

.my-element {
    filter: brightness(80%);
}

contrast

ब्राउज़र सहायता

  • 18
  • 12
  • 35
  • 6

सोर्स

कंट्रास्ट को कम या ज़्यादा करने के लिए, वैल्यू को 0% और 100% के बीच सेट करें.

.my-element {
    filter: contrast(160%);
}

grayscale

ब्राउज़र सहायता

  • 18
  • 12
  • 35
  • 6

सोर्स

grayscale() की वैल्यू के तौर पर 1 का इस्तेमाल करके, पूरी तरह से ग्रेस्केल इफ़ेक्ट लागू किया जा सकता है या पूरी तरह से सैचुरेटेड एलिमेंट के लिए 0 का इस्तेमाल किया जा सकता है. सिर्फ़ आंशिक ग्रेस्केल इफ़ेक्ट लागू करने के लिए, प्रतिशत या दशमलव वैल्यू का भी इस्तेमाल किया जा सकता है. अगर आपने कोई भी आर्ग्युमेंट पास नहीं किया, तो एलिमेंट पूरी तरह ग्रेस्केल हो जाएगा. अगर वैल्यू 100% से ज़्यादा है, तो उसे 100% पर सीमित कर दिया जाएगा.

.my-element {
    filter: grayscale(80%);
}

invert

ब्राउज़र सहायता

  • 18
  • 12
  • 35
  • 6

सोर्स

grayscale की तरह ही, invert() फ़ंक्शन को चालू या बंद करने के लिए, इसमें 1 या 0 पास किए जा सकते हैं. यह चालू होने पर, एलिमेंट के रंग पूरी तरह उलट हो जाते हैं. रंगों को कुछ हद तक बदलने की सुविधा को लागू करने के लिए, प्रतिशत या दशमलव वैल्यू का भी इस्तेमाल किया जा सकता है. अगर invert() फ़ंक्शन में कोई आर्ग्युमेंट पास नहीं किया जाता है, तो एलिमेंट पूरी तरह उलटा हो जाएगा.

.my-element {
    filter: invert(1);
}

opacity

ब्राउज़र सहायता

  • 18
  • 12
  • 35
  • 6

सोर्स

opacity() फ़िल्टर, opacity प्रॉपर्टी की तरह ही काम करता है. इसमें अपारदर्शिता को बढ़ाने या कम करने के लिए, कोई संख्या या प्रतिशत पास किया जा सकता है. अगर कोई आर्ग्युमेंट पास नहीं किया जाता है, तो एलिमेंट पूरी तरह दिखता है.

.my-element {
    filter: opacity(0.3);
}

saturate

ब्राउज़र सहायता

  • 18
  • 12
  • 35
  • 6

सोर्स

संतृप्त फ़िल्टर, काफ़ी हद तक brightness फ़िल्टर की तरह होता है और इसी तर्क को स्वीकार करता है: संख्या या प्रतिशत. saturate की मदद से, स्क्रीन की रोशनी को बढ़ाने या घटाने के बजाय, उसके रंग को गहरा या फीका किया जाता है.

.my-element {
    filter: saturate(155%);
}

sepia

ब्राउज़र सहायता

  • 18
  • 12
  • 35
  • 6

सोर्स

grayscale() की तरह काम करने वाले फ़िल्टर का इस्तेमाल करके, सेपिया टोन वाला इफ़ेक्ट जोड़ा जा सकता है. सेपिया टोन, फ़ोटोग्राफ़िक प्रिंटिंग की एक तकनीक है. यह काले टोन को गर्म करने के लिए, भूरे टोन में बदल देती है. आप sepia() के लिए तर्क के रूप में कोई संख्या या प्रतिशत पास कर सकते हैं, जो प्रभाव को बढ़ाता या घटाता है. कोई तर्क नहीं देने पर सेपिया इफ़ेक्ट पूरी तरह जुड़ जाता है (sepia(100%) के बराबर).

.my-element {
    filter: sepia(70%);
}

hue-rotate

ब्राउज़र सहायता

  • 18
  • 12
  • 35
  • 6

सोर्स

आपने जाना कि hsl में रंग, कलर लेसन में कलर व्हील के रोटेशन का रेफ़रंस कैसे देता है और यह फ़िल्टर भी इसी तरह काम करता है. अगर डिग्री या मोड़ जैसा कोई ऐंगल पास किया जाता है, तो एलिमेंट के सभी कलर का कलर शिफ़्ट हो जाता है. साथ ही, उस कलर व्हील का हिस्सा भी बदल जाता है जिसका वह रेफ़रंस देता है. अगर आप कोई तर्क नहीं पास करते हैं, तो कुछ नहीं होता है.

.my-element {
    filter: hue-rotate(120deg);
}

drop-shadow

ब्राउज़र सहायता

  • 18
  • 12
  • 35
  • 6

सोर्स

आप चाहें, तो कर्व-हगिंग ड्रॉप शैडो का इस्तेमाल करें. यह ठीक वैसा ही है जैसा किसी डिज़ाइन टूल, जैसे कि Photoshop में drop-shadow वाला होता है. यह शैडो, ऐल्फ़ा मास्क पर लागू किया जाता है. इससे कटआउट इमेज में शैडो जोड़ने में मदद मिलती है. drop-shadow फ़िल्टर एक शैडो पैरामीटर लेता है, जिसमें स्पेस से अलग किए गए ऑफ़सेट-x, ऑफ़सेट-y, ब्लर, और कलर की वैल्यू होती हैं. यह करीब-करीब box-shadow के जैसा है, लेकिन inset कीवर्ड और स्प्रेड वैल्यू का इस्तेमाल नहीं किया जा सकता.

.my-element {
    filter: drop-shadow(5px 5px 10px orange);
}

शैडो मॉड्यूल में अलग-अलग तरह की शैडो के बारे में ज़्यादा जानें.

url

ब्राउज़र सहायता

  • 5
  • 12
  • 3
  • 6

सोर्स

url फ़िल्टर की मदद से, लिंक किए गए SVG एलिमेंट या फ़ाइल से SVG फ़िल्टर लागू किया जा सकता है. SVG फ़िल्टर के बारे में यहां ज़्यादा जानें

बैकग्राउंड फ़िल्टर

ब्राउज़र सहायता

  • 76
  • 17
  • 103
  • 9

सोर्स

बैकड्रॉप-फ़िल्टर प्रॉपर्टी, filter जैसी सभी फ़िल्टर फ़ंक्शन वैल्यू को स्वीकार करती है. backdrop-filter और filter के बीच यह अंतर है कि backdrop-filter प्रॉपर्टी सिर्फ़ बैकग्राउंड पर फ़िल्टर लागू करती है, जहां filter प्रॉपर्टी उसे पूरे एलिमेंट पर लागू करती है.

इस लेसन की शुरुआत में दिया गया उदाहरण बिलकुल सही है, क्योंकि आप टेक्स्ट को धुंधला नहीं करना चाहते. साथ ही, अतिरिक्त एचटीएमएल एलिमेंट भी नहीं जोड़ना चाहते. केवल पृष्ठभूमि पर फ़िल्टर लागू कर पाने से वह सक्षम होता है.

जांचें कि आपको कितना समझ आया

फ़िल्टर के बारे में अपनी जानकारी की जांच करें

इनमें से कौनसे सीएसएस फ़िल्टर फ़ंक्शन होते हैं?

grayscale()
🎉
invert()
🎉
flip()
फिर से कोशिश करें!
multiply()
फिर से कोशिश करें!
blur()
🎉
brightness()
🎉

क्या सीएसएस SVG फ़िल्टर का इस्तेमाल कर सकती है?

हां
url() फ़िल्टर फ़ंक्शन इसे चालू करता है
नहीं
फिर से कोशिश करें!