CSS ग्रेडिएंट कैसे बनाएँ

· 5 मिनट पढ़ने का समय

CSS ग्रेडिएंट आपको बिना छवि फ़ाइलों के सहज रंग संक्रमण बनाने देते हैं। वे छवियों से हल्के होते हैं, किसी भी स्क्रीन आकार के लिए पूरी तरह से स्केल करते हैं, और अनुकूलित करने में आसान होते हैं। एक विशिष्ट सजावटी ग्रेडिएंट एक समकक्ष JPG या PNG की तुलना में 20-100 KB बचाता है, और गुणवत्ता हानि के बिना किसी भी रिज़ॉल्यूशन तक स्केल करता है।

CSS ग्रेडिएंट के प्रकार

रैखिक ग्रेडिएंट: रंग एक सीधी रेखा में संक्रमण करते हैं (ऊपर से नीचे, बाएँ से दाएँ, या किसी भी कोण पर)।

background: linear-gradient(135deg, #667eea, #764ba2);

रेडियल ग्रेडिएंट: रंग एक केंद्र बिंदु से बाहर की ओर एक गोलाकार या अण्डाकार पैटर्न में विकीर्ण होते हैं।

background: radial-gradient(circle, #667eea, #764ba2);

शंकु ग्रेडिएंट: रंग एक केंद्र बिंदु के चारों ओर घूमते हैं, जैसे एक रंग चक्र।

background: conic-gradient(from 0deg, #667eea, #764ba2, #667eea);

ग्रेडिएंट को नेत्रहीन रूप से कैसे बनाएं

  1. ग्रेडिएंट प्रकार चुनें: रैखिक या रेडियल चुनें और कोण या स्थिति सेट करें।
  2. रंग स्टॉप जोड़ें: ग्रेडिएंट के साथ विभिन्न स्थानों पर रंग जोड़ने के लिए क्लिक करें। प्रत्येक रंग और उसकी स्थिति को समायोजित करें।
  3. CSS कॉपी करें: जनरेट किए गए कोड को कॉपी करें और इसे अपनी स्टाइलशीट में पेस्ट करें।

विशेष रूप से जब आप कई रंग स्टॉप के साथ प्रयोग कर रहे हैं, तो हाथ से ग्रेडिएंट सिंटैक्स लिखने की तुलना में दृश्य जनरेटर का उपयोग करना तेज़ है।

CSS ग्रेडिएंट का संक्षिप्त इतिहास

CSS ग्रेडिएंट के अस्तित्व से पहले, वेब डिज़ाइनरों को किसी भी ग्रेडिएंट प्रभाव के लिए पृष्ठभूमि छवियों का उपयोग करना पड़ता था: एक एकल-कॉलम GIF को क्षैतिज रूप से टाइल करें, या Photoshop PSD को कई JPG में काटें। यह काम करता था लेकिन फ़ाइल वज़न, नेटवर्क अनुरोध और ज़ूम करने पर पिक्सेलाइज़ेशन जोड़ता था।

WebKit ने Safari 4 (जून 2009) में पहला -webkit-gradient() कार्यान्वयन एक वाचाल, पढ़ने में कठिन सिंटैक्स के साथ जोड़ा। Firefox 3.6 (जनवरी 2010) ने -moz-linear-gradient() के साथ अनुसरण किया। CSS कार्य समूह ने CSS Image Values Level 3 (2012) में बिना उपसर्ग के linear-gradient() और radial-gradient() को मानकीकृत किया, जिस बिंदु पर ब्राउज़र उपसर्ग गायब होने लगे।

शंकु ग्रेडिएंट (conic-gradient()) बहुत बाद में आए, पहली बार Chrome 69 (सितंबर 2018) में शिप किए गए और Safari 12.1 (मार्च 2019) तक सभी प्रमुख ब्राउज़रों तक पहुंचे। वे दृश्य पैटर्न को सक्षम करते हैं जो पहले छवियों के बिना असंभव थे: पाई चार्ट, रंग चक्र, चेकरबोर्ड, सूर्यविन्यास पैटर्न।

CSS ग्रेडिएंट अब बेसलाइन ब्राउज़र सुविधाएं माने जाते हैं। लगभग कोई भी ग्रेडिएंट प्रभाव जो आप चाहते हैं, वह CSS में प्राप्य है, बिना छवियों या JavaScript की आवश्यकता के।

सामान्य ग्रेडिएंट पैटर्न

हीरो सेक्शन पृष्ठभूमि: एक सूक्ष्म दो-रंग ग्रेडिएंट टेक्स्ट से ध्यान भटकाए बिना गहराई जोड़ता है।

background: linear-gradient(135deg, #0f172a, #1e3a5f);

बटन हाइलाइट: एक हल्का ग्रेडिएंट बटन को त्रि-आयामी महसूस कराता है।

background: linear-gradient(180deg, #3b82f6, #2563eb);

छवियों पर ओवरले: एक ग्रेडिएंट ओवरले फ़ोटो पर टेक्स्ट की पठनीयता में सुधार करता है।

background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.7));

एक्सेंट बॉर्डर: दृश्य रुचि के लिए ग्रेडिएंट को बॉर्डर के रूप में उपयोग करें।

border-image: linear-gradient(90deg, #667eea, #764ba2) 1;

एनिमेटेड मेश ग्रेडिएंट: कई रेडियल ग्रेडिएंट स्टैक करें और स्थितियों को एनिमेट करें।

background:
  radial-gradient(at 20% 30%, #667eea 0%, transparent 50%),
  radial-gradient(at 80% 70%, #764ba2 0%, transparent 50%),
  #0f172a;

ग्लास मॉर्फिज़्म बैकड्रॉप: कम-अपारदर्शिता ग्रेडिएंट को बैकड्रॉप-फ़िल्टर ब्लर के साथ जोड़ें।

background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05));
backdrop-filter: blur(10px);

रंग स्टॉप स्थान निर्धारण

डिफ़ॉल्ट रूप से, रंग स्टॉप समान रूप से वितरित होते हैं। आप उनकी स्थितियों को ओवरराइड करके नियंत्रित कर सकते हैं कि प्रत्येक रंग कहाँ दिखाई दे:

/* पीला मध्य 60% में, किनारों पर लाल में फीका पड़ रहा है */
background: linear-gradient(90deg, red 0%, yellow 20%, yellow 80%, red 100%);

आप एंटी-अलियासिंग के बिना धारियाँ या ज्यामितीय पैटर्न बनाने के लिए हार्ड स्टॉप का भी उपयोग कर सकते हैं:

/* बिना संक्रमण के दो-रंग धारियाँ */
background: linear-gradient(45deg, #667eea 50%, #764ba2 50%);

चाल यह है कि दो रंग स्टॉप को एक ही स्थान पर रखें। ब्राउज़र उनके बीच इंटरपोलेट नहीं करता है, जिससे एक तेज़ धार बनती है।

ग्रेडिएंट बनाम ठोस रंग बनाम छवियों का उपयोग कब करें

एक सामान्य पैटर्न तीनों को परत में रखना है: एक ठोस रंग आधार, एक CSS ग्रेडिएंट ओवरले, और शीर्ष पर एक कम-अपारदर्शिता बनावट छवि।

सामान्य कठिनाइयां

सुझाव

गोपनीयता

CSS ग्रेडिएंट जनरेटर पूरी तरह से आपके ब्राउज़र में चलता है। आप जो रंग चुनते हैं, जिन ग्रेडिएंट कॉन्फ़िगरेशन के साथ आप प्रयोग करते हैं, और जो CSS आप जनरेट करते हैं, वे कभी भी आपके डिवाइस को नहीं छोड़ते हैं। कोई टेलीमेट्री नहीं, कोई उपयोग ट्रैकिंग नहीं, आपके डिज़ाइन विकल्पों का कोई अपलोड नहीं। डिज़ाइन अन्वेषण के दौरान उपयोग किए जाने वाले उपकरणों के लिए, यह मायने रखता है: आप जो रंग और पैटर्न आज़माते हैं, वे आने वाली ब्रांड दिशाएँ, अघोषित उत्पाद थीम या NDA के तहत क्लाइंट कार्य प्रकट कर सकते हैं। केवल-ब्राउज़र जनरेशन इन सबको आपकी मशीन पर रखती है।

अक्सर पूछे जाने वाले प्रश्न

क्या CSS ग्रेडिएंट सभी ब्राउज़रों में काम करते हैं?

हाँ। Chrome, Firefox, Safari और Edge सहित सभी आधुनिक ब्राउज़रों में लीनियर और रेडियल ग्रेडिएंट समर्थित हैं। कोनिक ग्रेडिएंट का समर्थन थोड़ा नया है लेकिन सभी वर्तमान संस्करणों में काम करता है।

क्या मैं दो से अधिक रंगों का उपयोग कर सकता हूँ?

हाँ। CSS ग्रेडिएंट उतने रंग स्टॉप स्वीकार करते हैं जितने आप चाहते हैं। प्रत्येक स्टॉप ग्रेडिएंट के साथ एक रंग और एक स्थिति को परिभाषित करता है।

क्या ग्रेडिएंट प्रदर्शन को प्रभावित करते हैं?

नहीं। CSS ग्रेडिएंट ब्राउज़र द्वारा रेंडर किए जाते हैं और छवि फ़ाइलों से बहुत हल्के हैं। वे बिना किसी अतिरिक्त डाउनलोड के किसी भी स्क्रीन आकार के अनुकूल पूरी तरह से स्केल करते हैं।

क्या एक ग्रेडिएंट को एनिमेट किया जा सकता है?

सीधे background प्रॉपर्टी पर CSS ट्रांज़िशन के साथ नहीं, लेकिन आप background-position को एनिमेट कर सकते हैं या सहज ग्रेडिएंट एनिमेशन बनाने के लिए @property के साथ CSS कस्टम प्रॉपर्टी का उपयोग कर सकते हैं।