CSS फ़िल्टर जनरेटर
स्लाइडर के साथ CSS filter प्रॉपर्टीज़ समायोजित करें और वास्तविक समय में परिणाम देखें। उत्पन्न कोड कॉपी करें।
फ़िल्टर नियंत्रण
पूर्वावलोकन
जनरेट किया गया CSS
कैसे उपयोग करें
- फ़िल्टर स्लाइडर समायोजित करें: ब्लर, चमक, कंट्रास्ट, सैचुरेशन, ह्यू रोटेट, अपारदर्शिता, ग्रेस्केल, सेपिया और उल्टा नियंत्रित करने के लिए स्लाइडर का उपयोग करें।
- वास्तविक समय में पूर्वावलोकन करें: जब आप स्लाइडर घुमाते हैं, नमूना छवि या तत्व तुरंत अपडेट होता है।
- CSS कॉपी करें: पूरी filter प्रॉपर्टी मान (जैसे filter: brightness(1.2) contrast(1.5) saturate(0.8)) आपकी स्टाइलशीट में पेस्ट करने के लिए तैयार है।
CSS फ़िल्टर जनरेटर क्यों इस्तेमाल करें?
CSS फ़िल्टर छवि-प्रसंस्करण प्रभाव (ब्लर, कंट्रास्ट, चमक, रंग शिफ़्ट) सीधे ब्राउज़र में लागू करने देते हैं।
विशेषताएँ
- सभी CSS फ़िल्टर फ़ंक्शन: blur, brightness, contrast, saturate, hue-rotate, opacity, grayscale, sepia, invert और drop-shadow।
- लाइव पूर्वावलोकन: नमूना छवि या अपनी छवि पर वास्तविक समय में परिवर्तन देखें।
- मान सत्यापन: स्लाइडर प्रत्येक फ़िल्टर फ़ंक्शन के लिए वैध श्रेणियाँ लागू करते हैं।
- व्यक्तिगत रीसेट: एक फ़िल्टर को दूसरों को छुए बिना उसके डिफ़ॉल्ट मान पर वापस लाएँ।
- संयुक्त आउटपुट: सभी चयनित फ़िल्टर एक filter स्ट्रिंग में संयुक्त होते हैं।
अक्सर पूछे जाने वाले प्रश्न
क्या CSS फ़िल्टर को वीडियो पर लागू किया जा सकता है?
हाँ। CSS filter प्रॉपर्टी किसी भी तत्व पर काम करती है, जिसमें <video>, <img>, <div> और <canvas> शामिल हैं। एक वीडियो पर लागू होने पर, फ़िल्टर को प्लेबैक के दौरान वास्तविक समय में रेंडर किया जाता है।
filter और backdrop-filter में क्या अंतर है?
filter प्रभाव को तत्व पर और उसके सभी बच्चों पर लागू करता है। backdrop-filter प्रभाव को तत्व के पीछे (नीचे) की सामग्री पर लागू करता है, आमतौर पर फ़्रॉस्टेड ग्लास प्रभाव के लिए उपयोग किया जाता है।
क्या CSS फ़िल्टर प्रदर्शन को प्रभावित करते हैं?
ब्लर या जटिल कंपोज़िटिंग वाले फ़िल्टर GPU पर भारी हो सकते हैं। एनिमेटेड फ़िल्टर के लिए, सुनिश्चित करें कि तत्व अपनी स्वयं की कंपोज़िटिंग परत पर है (संकेत के रूप में transform: translateZ(0) जोड़ें)। छवियों और आइकनों पर स्थिर फ़िल्टर का न्यूनतम प्रभाव होता है।
CSS filter वास्तव में क्या करता है
CSS filter गुण किसी तत्व और उसके बच्चों पर ब्राउज़र द्वारा स्क्रीन पर पेंट करने से पहले ग्राफिक प्रभाव (ब्लर, कंट्रास्ट समायोजन, रंग शिफ्ट, ड्रॉप शैडो) लागू करता है। प्रसंस्करण पूरी तरह से ब्राउज़र की रेंडरिंग पाइपलाइन में होता है, आमतौर पर GPU-त्वरित, JavaScript की कोई भागीदारी नहीं। प्रभाव केवल दृश्य हैं: अंतर्निहित HTML, छवि जिस फ़ाइल का संदर्भ देती है और लेआउट सभी अपरिवर्तित रहते हैं। filter: grayscale(1) के साथ प्रदर्शित फोटो फ़ाइल में अभी भी अपने मूल रंग रखती है; ब्राउज़र केवल प्रदर्शन पर ग्रेस्केल में परिवर्तित करता है।
CSS filter दस फ़ंक्शन प्रकट करता है: blur(px) गॉसियन ब्लर के लिए, brightness(n) और contrast(n) टोनल समायोजन के लिए, saturate(n) रंग तीव्रता के लिए, hue-rotate(deg) रंग चक्र को शिफ्ट करने के लिए, opacity(n) पारदर्शिता के लिए, grayscale(n) और sepia(n) असंतृप्त प्रभावों के लिए, invert(n) ऋणात्मक आउटपुट के लिए, और drop-shadow(...) आकार-जागरूक छाया के लिए (box-shadow के विपरीत, drop-shadow पारदर्शिता सहित वास्तविक प्रदर्शित आकार का अनुसरण करता है, आइकन या कटआउट किनारों वाली PNG छवियों पर छाया के लिए आदर्श)। फ़ंक्शन एक साथ चेन करते हैं: filter: brightness(1.2) contrast(1.3) saturate(0.9) क्रमिक रूप से तीनों को लागू करता है।
यह आधुनिक वेब डिज़ाइन के लिए क्यों महत्वपूर्ण है: एक दशक पहले, डिज़ाइन स्थिरता के लिए छवि चमक, रंग या संतृप्ति को समायोजित करने के लिए हर छवि को Photoshop में प्रीप्रोसेस करना और फिर से एक्सपोर्ट करना आवश्यक था। CSS filter उन्हीं समायोजनों को रनटाइम पर लाता है, गैर-विनाशकारी रूप से लागू। आप एक ही छवि परोस सकते हैं और इसे थीम, होवर स्थिति या उपयोगकर्ता वरीयता के आधार पर अलग तरीकों से प्रस्तुत कर सकते हैं। आप पहुँच के लिए भी फ़िल्टर का उपयोग कर सकते हैं: एक प्लेसहोल्डर के रूप में उल्टी ग्रेस्केल फोटो, या उच्च-कंट्रास्ट पाठ पठनीयता के लिए एक गहरा छवि ओवरले। ट्रेड-ऑफ कुछ फ़िल्टरों (विशेष रूप से ब्लर) के लिए प्रदर्शन है और यह तथ्य कि फ़िल्टर बच्चों को भी प्रभावित करते हैं, जो अप्रत्याशित रूप से कैस्केड हो सकता है।
यह उपकरण पर्दे के पीछे कैसे काम करता है
उपकरण में प्रत्येक स्लाइडर एक एकल फ़िल्टर फ़ंक्शन से बंधा है। जब आप स्लाइडर को हिलाते हैं, JavaScript मान पढ़ता है, उस मान के साथ फ़िल्टर फ़ंक्शन स्ट्रिंग बनाता है (जैसे, brightness(1.4)), और सभी सक्रिय फ़ंक्शन को एक एकल filter CSS स्ट्रिंग में जोड़ता है। उस स्ट्रिंग को पूर्वावलोकन छवि पर एक इनलाइन शैली के रूप में लागू किया जाता है, ब्राउज़र नए फ़िल्टर के साथ पुनः पेंट करते समय तत्काल दृश्य प्रतिक्रिया उत्पन्न करता है। JavaScript में कोई छवि डेटा संसाधित नहीं होता: वास्तविक पिक्सेल-स्तरीय गणित ब्राउज़र के रेंडरिंग इंजन के अंदर होता है, आमतौर पर GPU पर।
कोड बॉक्स में दिखाया गया उत्पन्न CSS पूर्वावलोकन पर लागू उसी स्ट्रिंग है। «CSS कॉपी करें» पर क्लिक करें और उपकरण आधुनिक navigator.clipboard.writeText() API का उपयोग करके उस स्ट्रिंग को आपके क्लिपबोर्ड पर लिखता है। स्ट्रिंग आपके स्टाइलशीट में किसी भी तत्व के स्टाइल विशेषता या किसी भी क्लास घोषणा में पेस्ट करने के लिए तैयार है। उपकरण आपकी अपनी छवि लोड करने का भी समर्थन करता है: एक फ़ाइल चुनें और यह ब्राउज़र में अस्थायी blob: URL बन जाती है, कभी भी कहीं अपलोड नहीं होती, और फ़िल्टर आपकी वास्तविक छवि पर पूर्वावलोकन होता है ताकि आप अपनी सामग्री के लिए सटीक रूप डायल कर सकें।
रीसेट व्यवहार प्रति-फ़िल्टर है: प्रत्येक स्लाइडर का अपना रीसेट बटन है जो केवल उस फ़िल्टर को उसके बिना-प्रभाव मान पर लौटाता है (मल्टीप्लायर के लिए 1, hue-rotate के लिए 0deg, blur के लिए 0px)। «सभी रीसेट करें» बटन हर स्लाइडर को एक साथ तटस्थ पर लौटाता है। उपकरण की स्थिति केवल मेमोरी में रहती है; पृष्ठ ताज़ा करें और आपका फ़िल्टर संयोजन चला जाता है। कोई सर्वर आपके चुने हुए फ़िल्टर मूल्यों को संग्रहीत नहीं करता, कोई विश्लेषण नहीं ट्रैक करता कि आप कौन से संयोजन आज़माते हैं। उपकरण एक स्टेटलेस, विज्ञापन-समर्थित CSS प्लेग्राउंड है।
CSS फ़िल्टर का संक्षिप्त इतिहास
- SVG फ़िल्टर मूल, 2001।SVG 1.0 (W3C सिफ़ारिश, सितंबर 2001) एक व्यापक फ़िल्टर सिस्टम परिभाषित करती है:
feGaussianBlur,feColorMatrix,feConvolveMatrixऔर दर्जनों अन्य। SVG फ़िल्टर मॉडल शक्तिशाली है लेकिन वर्बोज़, और HTML तत्वों पर SVG फ़िल्टर लागू करने के लिएfilter: url(#id)इनलाइन SVG को संदर्भित करता है, HTML-प्रथम कार्यप्रवाहों में कभी व्यापक रूप से नहीं अपनाया गया। - CSS Filter Effects Module Level 1, 2014।W3C Filter Effects Module Level 1 प्रकाशित करता है (दिसंबर 2014), सरलीकृत आशुलिपि फ़िल्टर फ़ंक्शन (blur, brightness, contrast, आदि) पेश करता है जिन्हें इनलाइन SVG की आवश्यकता नहीं होती। ये 95% मामलों में सबसे सामान्य छवि-प्रसंस्करण आवश्यकताओं से मेल खाते हैं और SVG फ़िल्टर की तुलना में नाटकीय रूप से लिखने में आसान हैं।
- ब्राउज़र समर्थन क्रिटिकल मास तक पहुँचता है, 2015।Chrome 53 (2015) और Firefox 35 (2015) बिना उपसर्ग के filter समर्थन भेजते हैं; Safari के पास संस्करण 6 (2012) के बाद से उपसर्गित समर्थन है। 2015 तक, CSS filter उत्पादन साइटों पर व्यापक रूप से प्रयोग करने योग्य है। डिज़ाइनर बड़े पैमाने पर होवर प्रभाव, छवि सामान्यीकरण और सजावटी उपचार के लिए फ़िल्टर का उपयोग करना शुरू कर देते हैं।
- backdrop-filter जहाज, 2017 से 2024।Safari 9 (2015) फ्रॉस्टेड ग्लास प्रभाव के लिए
-webkit-backdrop-filterपेश करता है। Chromium Chrome 76 (जुलाई 2019) में बिना उपसर्ग केbackdrop-filterजहाज करता है। Firefox संस्करण 103 (जुलाई 2022) तक रोक रखता है। iOS-शैली «फ्रॉस्टेड नेविगेशन बार» एक डिफ़ॉल्ट आधुनिक UI पैटर्न बन जाता है। - डार्क मोड फ़िल्टर अपनापन धकेलता है, 2019।डार्क मोड डिज़ाइन प्रवृत्ति (Apple का macOS Mojave 2018, Android 10 2019, iOS 13 2019, ब्राउज़र
prefers-color-scheme2019) invert-and-hue-rotate «स्वतः डार्क मोड» CSS के लिए फ़िल्टर उपयोग को तेज़ करती है, जहाँ एकलfilter: invert(1) hue-rotate(180deg)नियम एक लाइट-मोड साइट को बिना पुनर्डिज़ाइन के एक पासेबल डार्क-मोड दृश्य में बदल देता है। - SVG फ़िल्टर जटिलता CSS के माध्यम से लौटती है, 2024 के बाद से।CSS Filter Effects Module Level 2 (मसौदा) नए फ़ंक्शन और इनलाइन SVG के बिना कस्टम फ़िल्टर पाइपलाइन कंपोज़ करने की क्षमता का प्रस्ताव करता है, सुविधाजनक आशुलिपि फ़ंक्शनों और SVG फ़िल्टर मूल की पूर्ण शक्ति के बीच की खाई को पाटता है। ब्राउज़र समर्थन 2025 के माध्यम से अभी भी रोल आउट हो रहा है।
वास्तविक दुनिया के कार्यप्रवाह
- ब्रांड-सुसंगत छवि सामान्यीकरण।कई फ़ोटोग्राफरों या स्टॉक प्रदाताओं से छवियाँ प्राप्त करने वाली एक साइट को असंगत संतृप्ति, कंट्रास्ट और चमक मिलती है। सभी छवियों पर एक समान CSS फ़िल्टर लागू करना (
filter: saturate(0.85) contrast(1.05) brightness(0.95)) उन्हें सभी को एक ही रंग पैलेट में लाता है बिना प्रत्येक फ़ाइल को प्रीप्रोसेस किए। एक विशिष्ट छवि के लिए फ़िल्टर को उल्टा करें जब आप चाहते हैं कि यह बाहर खड़ा हो। - होवर और इंटरैक्शन स्थितियाँ।फ़िल्टर ट्रांज़िशन का उपयोग करने वाले होवर प्रभाव पॉलिश और हल्के महसूस होते हैं। आराम पर
filter: grayscale(0.5)और होवर परfilter: grayscale(0)के साथ कार्ड छवियाँ इंटरैक्ट करने का एक सूक्ष्म निमंत्रण बनाती हैं। आराम परfilter: brightness(0.9)और होवर परbrightness(1.1)के साथ छवि थंबनेल दो छवि फ़ाइलों की आवश्यकता के बिना वही करते हैं। - backdrop-filter के साथ फ्रॉस्टेड ग्लास UI।अर्ध-पारदर्शी पृष्ठभूमि पर
backdrop-filter: blur(20px)का उपयोग करने वाले मॉडल ओवरले, स्टिकी नेविगेशन बार और टूलटिप पॉपओवर iOS-शैली फ्रॉस्टेड-ग्लास प्रभाव उत्पन्न करते हैं। यह अब आधुनिक मार्केटिंग साइटों पर अपेक्षित है;filterलागू नहीं होता क्योंकि हम ओवरले के पीछे क्या है उसे ब्लर करना चाहते हैं, न कि ओवरले स्वयं। - गतिशील थीमिंग और डार्क मोड।सस्ता डार्क मोड: अपनी साइट को मीडिया क्वेरी या टॉगल के माध्यम से सक्रिय
filter: invert(1) hue-rotate(180deg)वाले एक कंटेनर में लपेटें। यह डार्क टेक्स्ट को लाइट, लाइट बैकग्राउंड को डार्क में परिवर्तित करता है, जबकि अधिकांश रंगों को संरक्षित रखता है। यह एक त्वरित जीत है जो दो थीम डिज़ाइन किए बिना 80% डार्क मोड आवश्यकताओं को संभालती है। वास्तविक छवियों को इनवर्जन को पूर्ववत करने के लिए नेस्टेडfilter: invert(1) hue-rotate(180deg)के साथ बाहर किया जाना चाहिए, अन्यथा फ़ोटो अजीब दिखती हैं। - पहुँच उपकरण और उच्च कंट्रास्ट मोड।दृष्टि बाधित उपयोगकर्ता ब्राउज़र-स्तरीय फ़िल्टर (Chrome का उच्च-कंट्रास्ट एक्सटेंशन, OS-स्तर उलटा) लागू कर सकते हैं, लेकिन डिज़ाइनर साइट-स्तरीय फ़िल्टर टॉगल भी प्रदान कर सकते हैं: एक बटन जो कम दृष्टि वाले उपयोगकर्ताओं के लिए पूरे पृष्ठ पर
filter: contrast(2)लागू करता है। WebAIM और WCAG को इसकी आवश्यकता नहीं है, लेकिन यह एक कम लागत वाली पहुँच शिष्टता है जो कुछ साइटें जोड़ती हैं। - कलात्मक फोटो उपचार।सीपिया टोन, विंटेज लुक, ब्लूप्रिंट फोटो प्रभाव और अन्य कलात्मक उपचार फ़िल्टर फ़ंक्शन को जोड़ते हैं:
filter: sepia(1) hue-rotate(200deg) saturate(1.5) brightness(0.8)एक घोषणा में ठंडे-टोन वाला विंटेज लुक उत्पन्न करता है। छवि संपादक प्रीसेट की तुलना में, CSS filter गैर-विनाशकारी है और बिना पुनः निर्यात किए लाइव-समायोज्य है।
सामान्य नुकसान और उनका क्या मतलब है
- ब्लर महंगा फ़िल्टर है।फ़िल्टर फ़ंक्शनों में,
blur()सबसे GPU-गहन है, विशेष रूप से बड़े तत्वों पर बड़े दायरे (20px से अधिक) पर। ब्लर को एनिमेट करना या इसे एक साथ कई तत्वों पर लागू करना फ्रेम दर को उल्लेखनीय रूप से गिरा सकता है। स्टिकी फ्रॉस्टेड नेविगेशन बार के लिए, ब्लर एक छोटे क्षेत्र को कवर करता है और ठीक चलता है; फुल-स्क्रीन मॉडल ब्लर के लिए, कम-अंत वाले उपकरणों पर एक संक्षिप्त हकलाहट की अपेक्षा करें। अन्य फ़िल्टर (contrast, brightness, saturate) आधुनिक GPU में लगभग मुफ्त हैं। - फ़िल्टर सभी वंशजों को प्रभावित करते हैं।एक कंटेनर पर
filterलागू करना उसके भीतर हर बच्चे तत्व को प्रभावित करता है। यदि आप एक कार्ड कोfilter: grayscale(1)वाले कंटेनर में लपेटते हैं, तो अंदर का पाठ भी ग्रेस्केल हो जाता है (जो आमतौर पर कुछ नहीं बदलता क्योंकि पाठ पहले से ही मोनोक्रोम है) और कोई भी रंगीन बच्चे तत्व (आइकन, बैज) अपना रंग खो देते हैं। केवल विशिष्ट बच्चों को फ़िल्टर करने के लिए, उन पर अलग-अलग फ़िल्टर लागू करें, माता-पिता पर नहीं। - कम कंट्रास्ट पठनीयता को नुकसान पहुँचाता है।अंदर पाठ वाले कार्ड पर कंट्रास्ट कम करना (
filter: contrast(0.5)) पाठ को पढ़ना अधिक कठिन बनाता है, अक्सर इसे सामान्य पाठ के लिए WCAG AA 4.5:1 कंट्रास्ट अनुपात से नीचे गिरा देता है। कंट्रास्ट-कम करने वाले फ़िल्टरों को सावधानी से लागू करें; जाँचें कि शीर्ष पर कोई भी पाठ पठनीय रहता है। पूरी तरह से सजावटी तत्वों (पृष्ठभूमि छवियाँ, विभाजक) के लिए, कम कंट्रास्ट ठीक है। - फ़िल्टर हिट क्षेत्र नहीं बदलते।clip-path के विपरीत, CSS filter किसी तत्व के क्लिक करने योग्य क्षेत्र को नहीं बदलता।
filter: blur(5px)वाला एक बटन नरम और बेफोकस दिखता है लेकिन अपने मूल आयत में पूरी तरह से क्लिक करने योग्य रहता है। यह आमतौर पर वांछित होता है लेकिन आश्चर्यजनक हो सकता है जब एक «भूत» या «अक्षम-दिखने वाला» तत्व अभी भी क्लिक पर ट्रिगर करता है। इंटरैक्शन को वास्तव में अक्षम करने के लिएpointer-events: noneके साथ filter को संयोजित करें। - Safari को backdrop-filter के लिए -webkit- उपसर्ग की आवश्यकता है।मूल
filterगुण सभी आधुनिक ब्राउज़रों में बिना उपसर्ग के है। लेकिनbackdrop-filterको Safari (नए संस्करणों सहित) में अभी भी-webkit-backdrop-filterउपसर्ग की आवश्यकता है। क्रॉस-ब्राउज़र फ्रॉस्टेड ग्लास प्रभावों के लिए, समान मान के साथ-webkit-backdrop-filterऔरbackdrop-filterदोनों घोषित करें। ऑटो-प्रीफ़िक्सर इसे संभालते हैं; यदि आप हाथ से CSS लिख रहे हैं, उपसर्ग याद रखें। - फ़िल्टर चेन को एनिमेट करना उछलकूद है।filter पर CSS ट्रांज़िशन सुचारू रूप से इंटरपोलेट करते हैं जब फ़िल्टर चेन समान रहता है (जैसे,
blur(0px)सेblur(10px)तक ट्रांज़िशन)। लेकिन ट्रांज़िशन के बीच फ़ंक्शन जोड़ना या हटाना (जैसे,blur(0px)सेblur(10px) brightness(1.2)तक ट्रांज़िशन) अचानक स्नैप करता है। सुचारू मल्टी-फ़िल्टर ट्रांज़िशन के लिए, उपयुक्त बेसलाइन मूल्यों के साथ शुरुआत और अंत राज्यों में सभी फ़िल्टर घोषित करें (brightness(1) डिफ़ॉल्ट है)।
गोपनीयता: सब कुछ आपके ब्राउज़र में होता है
CSS जनरेटर उपकरण दो स्वादों में आते हैं: क्लाइंट-साइड JavaScript चलाने वाले सरल HTML पृष्ठ (निजी, तेज़) और क्लाउड संपादक जो आपकी परियोजनाओं को सहेजते हैं (सहयोगी लेकिन गोपनीयता ट्रेड-ऑफ के साथ)। यह उपकरण पहले प्रकार का है। आपके स्लाइडर मान, आपका उत्पन्न CSS, और यहाँ तक कि कोई भी छवि जो आप पूर्वावलोकन के लिए अपलोड करते हैं, सभी पूरी तरह से आपके ब्राउज़र सत्र में रहते हैं। पृष्ठ ताज़ा करें और स्थिति चली जाती है जब तक आपने पहले CSS कॉपी नहीं किया या स्क्रीनशॉट सहेजा नहीं।
«अपनी छवि अपलोड करें» सुविधा एक गोपनीयता नोट के योग्य है: जब आप एक फ़ाइल चुनते हैं, ब्राउज़र मेमोरी की ओर इशारा करते हुए एक स्थानीय blob: URL बनाता है, और पूर्वावलोकन आपकी छवि को लागू फ़िल्टर के साथ प्रदर्शित करता है। कोई अनुरोध किसी सर्वर पर नहीं जाता। अपलोडिंग के दौरान ब्राउज़र का नेटवर्क टैब खोलें; आप शून्य आउटबाउंड ट्रैफ़िक देखेंगे। छवि केवल आपके ब्राउज़र टैब की मेमोरी में मौजूद है और जब आप टैब बंद करते हैं तो मिटा दी जाती है। गोपनीय छवियों (मालिकाना डिज़ाइन, चिकित्सा स्कैन, NDA-संरक्षित स्क्रीनशॉट) के लिए, यह वह गोपनीयता संपत्ति है जो मायने रखती है।
जब कोई दूसरा उपकरण सही विकल्प हो
- स्थायी संपादन के लिए Photoshop या Lightroom।CSS filter केवल प्रदर्शन-समय पर है: अंतर्निहित छवि फ़ाइल अपरिवर्तित है। यदि आप चाहते हैं कि वास्तविक छवि फ़ाइल में वे समायोजन निहित हों (छोटा फ़ाइल आकार, तेज़ पृष्ठ लोड, पुराने ब्राउज़रों में बिना फ़िल्टर के फ़ॉलबैक का कोई जोखिम नहीं), Photoshop, Lightroom, GIMP या Affinity Photo में छवि को संपादित करें। CSS filter गतिशील प्रदर्शन के लिए है; छवि संपादक स्थायी प्रसंस्करण के लिए हैं।
- एकमुश्त बैच प्रसंस्करण के लिए Image Filters।हमारा Image Filters उपकरण समान फ़िल्टर प्रभाव लागू करता है लेकिन फ़िल्टर के साथ डाउनलोड करने योग्य PNG/JPG उत्पन्न करता है। पोर्टफ़ोलियो, सोशल-मीडिया सेट, या एसेट लाइब्रेरी के लिए कई छवियों को लगातार प्रसंस्करण के लिए, वह कार्यप्रवाह रनटाइम पर CSS फ़िल्टर लागू करने से तेज़ है। दोनों उपकरण विभिन्न उपयोग मामलों की सेवा करते हैं।
- जटिल प्रभावों के लिए SVG फ़िल्टर।CSS filter आशुलिपि अधिकांश आवश्यकताओं को कवर करती है लेकिन सब कुछ नहीं। लहराती विकृति, कस्टम कन्वोल्यूशन कर्नेल (किनारे का पता लगाना, उभार), feTurbulence शोर पैटर्न, विस्थापन मानचित्र: सभी को इनलाइन SVG प्लस
filter: url(#myFilter)के माध्यम से SVG फ़िल्टर मूल की आवश्यकता है। SVG फ़िल्टर लिखना अधिक कठिन है लेकिन उन प्रभावों को अनलॉक करता है जिन्हें आशुलिपि CSS filter उत्पन्न नहीं कर सकता। - थीमिंग के लिए CSS कस्टम गुण।filter का उपयोग करते हुए «उल्टा डार्क मोड» तरकीब की सीमाएँ हैं: फ़ोटो गलत दिखती हैं, रंग शिफ्ट होते हैं, प्रदर्शन प्रभावित हो सकता है। उत्पादन-गुणवत्ता वाले डार्क मोड के लिए, दो अलग-अलग थीम सेट के साथ CSS कस्टम गुण (
--bg-color,--text-color) क्लीनर हैं। फ़िल्टर-आधारित डार्क मोड एक त्वरित जीत है, पॉलिश समाधान नहीं।
अधिक अक्सर पूछे जाने वाले प्रश्न
क्या मैं CSS फ़िल्टर परिवर्तन को सुचारू रूप से एनिमेट कर सकता हूँ?
हाँ, चेतावनी के साथ। filter गुण CSS में एनिमेट करने योग्य है, और एक ही क्रम में समान फ़ंक्शनों वाली दो फ़िल्टर चेनों के बीच ट्रांज़िशन सुचारू रूप से इंटरपोलेट करते हैं (blur(0px) brightness(1) से blur(10px) brightness(1.5) काम करता है)। ट्रांज़िशन के बीच फ़ंक्शन जोड़ना या हटाना अचानक स्नैप करता है। सुचारू मल्टी-फ़िल्टर एनीमेशन के लिए, हर फ़ंक्शन को शुरू और अंत स्थितियों दोनों में सूचीबद्ध करें जिसे आप ट्रांज़िशन करना चाहते हैं, उन जगहों पर तटस्थ मूल्यों (brightness(1), saturate(1), blur(0px)) का उपयोग करते हुए जहाँ आप किसी विशिष्ट फ़िल्टर को लागू नहीं करना चाहते।
क्या CSS filter पृष्ठभूमि छवियों पर काम करता है?
हाँ। CSS filter पूरे तत्व पर लागू होता है जिसमें इसकी पृष्ठभूमि छवि, सामग्री और बच्चे तत्व शामिल हैं। यदि आप केवल पृष्ठभूमि छवि को फ़िल्टर करना चाहते हैं लेकिन अग्रभूमि सामग्री को नहीं, तो विशिष्ट दृष्टिकोण पृष्ठभूमि के लिए एक अलग बच्चे तत्व का उपयोग करना है (जैसे, एक स्थित ::before छद्म-तत्व) जिस पर फ़िल्टर लागू किया गया है, फिर सामग्री को बिना फ़िल्टर वाले भाई-बहन के रूप में शीर्ष पर रखें। backdrop-filter गुण तब भी उपयोगी है जब आप किसी पारदर्शी तत्व के पीछे जो दिखाई दे रहा है उसे फ़िल्टर करना चाहते हैं।
क्या CSS फ़िल्टर खोज इंजन द्वारा अनुक्रमित होते हैं?
CSS फ़िल्टर पूरी तरह से दृश्य हैं और HTML सामग्री नहीं बदलते। खोज इंजन अंतर्निहित सामग्री (छवि alt पाठ, आसपास का पाठ) को ऐसे अनुक्रमित करते हैं जैसे फ़िल्टर लागू नहीं किया गया था। filter: grayscale(1) वाली एक ग्रेस्केल छवि अभी भी अपनी फ़ाइल और alt पाठ के आधार पर मूल रंग छवि के रूप में अनुक्रमित होती है। यह आमतौर पर वही है जो आप चाहते हैं: SEO या स्क्रीन रीडर पर कोई फ़िल्टर साइड-इफेक्ट नहीं।
drop-shadow box-shadow से अलग क्यों दिखता है?
Box-shadow एक तत्व के आयताकार बॉक्स के चारों ओर एक छाया खींचता है, किसी भी पारदर्शिता को अनदेखा करता है। Drop-shadow (filter) एक छाया खींचता है जो वास्तविक प्रदर्शित आकार का अनुसरण करती है, पारदर्शी क्षेत्रों सहित। कटआउट किनारों वाले SVG आइकन या पारदर्शिता वाले PNG के लिए, drop-shadow एक आकार-जागरूक छाया उत्पन्न करता है जो दृश्यमान रूपरेखा से मेल खाती है। एक ही तत्व पर Box-shadow बाउंडिंग बॉक्स के चारों ओर एक आयत छाया दिखाएगा, जो गलत दिखता है। आकार-जागरूक छायाओं के लिए drop-shadow का उपयोग करें, आयताकार तत्वों के लिए box-shadow।
opacity और filter: opacity() के बीच क्या अंतर है?
अधिकांश ब्राउज़रों में वे दृष्टिगत रूप से समान परिणाम उत्पन्न करते हैं। तकनीकी अंतर: opacity शीर्ष-स्तरीय गुण है, जबकि filter: opacity() फ़िल्टर श्रृंखला का हिस्सा है और अन्य फ़िल्टरों के साथ रचना करता है। यदि आपके पास filter: blur(5px) opacity(0.5) है, तो दोनों एक साथ एकल GPU ऑपरेशन के रूप में लागू होते हैं। फ़िल्टर श्रृंखला के बाहर opacity का उपयोग करना अधिकांश मामलों में समान काम करता है। स्वतंत्र पारदर्शिता के लिए opacity के साथ रहें; अन्य फ़िल्टरों के साथ चेन करते समय ही filter: opacity() का उपयोग करें।
क्या मैं सभी फ़िल्टरों को जल्दी से रीसेट कर सकता हूँ?
हाँ। एक घोषणा में सभी फ़िल्टरों को हटाने के लिए filter: none सेट करें। यह रीसेट करने का सबसे स्वच्छ तरीका है, विशेष रूप से होवर स्थितियों के लिए जहाँ आप होवर-आउट पर सभी फ़िल्टर प्रभाव हटाना चाहते हैं। वैकल्पिक रूप से, हर फ़िल्टर फ़ंक्शन को उसके तटस्थ मान पर सेट करें: filter: brightness(1) contrast(1) saturate(1) blur(0px) hue-rotate(0deg) grayscale(0) sepia(0) invert(0) opacity(1) कार्यात्मक रूप से filter: none के समतुल्य है लेकिन अधिक वर्बोज़।