Opacity, Transparency, और Alpha Channel समझाया गया
Embed This Widget
Add the script tag and a data attribute to embed this widget.
Embed via iframe for maximum compatibility.
<iframe src="https://colorfyi.com/iframe/entity//" width="420" height="400" frameborder="0" style="border:0;border-radius:10px;max-width:100%" loading="lazy"></iframe>
Paste this URL in WordPress, Medium, or any oEmbed-compatible platform.
https://colorfyi.com/entity//
Add a dynamic SVG badge to your README or docs.
[](https://colorfyi.com/entity//)
Use the native HTML custom element.
Opacity, transparency, और alpha तीन शब्द हैं जिन्हें डिज़ाइनर और डेवलपर एक-दूसरे के स्थान पर उपयोग करते हैं — लेकिन वे संबंधित फिर भी अलग अवधारणाओं का वर्णन करते हैं जो व्यवहार में अलग तरह से काम करते हैं।
Opacity क्या है?
Opacity यह बताता है कि कोई चीज़ कितनी opaque है — कितनी विज़ुअली ठोस। यह आमतौर पर 0 से 1 के बीच के मान के रूप में व्यक्त किया जाता है, जहां:
- 0 = पूरी तरह पारदर्शी (अदृश्य)
- 1 = पूरी तरह opaque (पूरी तरह दृश्यमान)
- 0.5 = 50% दृश्यमान, 50% देखने योग्य
Opacity एक रेंडर किए गए ऑब्जेक्ट की प्रॉपर्टी है, न कि रंग की प्रॉपर्टी।
Opacity बनाम Visibility बनाम Display
तीन CSS प्रॉपर्टी एलिमेंट को छुपा सकती हैं, लेकिन केवल एक ऐसा transparency के माध्यम से करती है:
opacity: 0— एलिमेंट अदृश्य है लेकिन अभी भी स्थान लेता है और घटनाओं का जवाब देता हैvisibility: hidden— एलिमेंट अदृश्य है और स्थान लेता है, लेकिन घटनाओं का जवाब नहीं देताdisplay: none— एलिमेंट लेआउट से पूरी तरह हटा दिया जाता है
इमेज में Alpha Channel
रास्टर इमेज फॉर्मेट में, alpha channel लाल, हरे और नीले के साथ एक चौथा डेटा चैनल है। जबकि RGB चैनल रंग परिभाषित करते हैं, alpha channel प्रत्येक पिक्सेल की opacity को स्वतंत्र रूप से परिभाषित करता है।
Alpha के लिए फॉर्मेट सपोर्ट
| फॉर्मेट | Alpha सपोर्ट | नोट |
|---|---|---|
| PNG | हां (8-bit) | Lossless, लोगो और आइकन के लिए व्यापक रूप से उपयोग |
| WebP | हां | Alpha के साथ Lossy या lossless, उत्कृष्ट संपीड़न |
| AVIF | हां | सबसे अच्छा संपीड़न, बढ़ता ब्राउज़र सपोर्ट |
| SVG | हां (opacity/CSS के माध्यम से) | वेक्टर — गुणवत्ता हानि के बिना स्केल |
| JPEG | नहीं | Alpha डेटा छोड़ा जाता है; बैकग्राउंड सफेद या काला हो जाता है |
| GIF | बाइनरी (0 या 1) | पिक्सेल या तो पूरी तरह पारदर्शी या पूरी तरह opaque है |
CSS opacity प्रॉपर्टी बनाम rgba/hsla
CSS opacity प्रॉपर्टी
.element {
opacity: 0.5;
}
यह एलिमेंट और उसके सभी descendants पर लागू होता है। यदि एक पैरेंट एलिमेंट में opacity: 0.5 है और एक चाइल्ड में opacity: 0.8 है, तो चाइल्ड की प्रभावी opacity 0.5 × 0.8 = 0.4 है।
महत्वपूर्ण: आप एक चाइल्ड को उसके पैरेंट से अधिक opaque नहीं बना सकते।
rgba() — रंग मान में ही Alpha
.element {
background-color: rgba(59, 130, 246, 0.5); /* 50% opacity पर नीला */
color: rgba(0, 0, 0, 1); /* टेक्स्ट पूरी तरह opaque रहता है */
}
rgba() के साथ, केवल उस रंग का उपयोग करने वाली विशिष्ट CSS प्रॉपर्टी semi-transparent बनाई जाती है।
/* सही: बैकग्राउंड पारदर्शी है, टेक्स्ट नहीं */
.card {
background-color: rgba(255, 255, 255, 0.15);
color: #FFFFFF;
}
/* गलत: टेक्स्ट सहित पूरा कार्ड semi-transparent हो जाता है */
.card {
background-color: #FFFFFF;
opacity: 0.15;
}
hsla() — Alpha के साथ HSL
background-color: hsla(210, 100%, 56%, 0.7);
आधुनिक CSS: / सिंटैक्स
CSS Color Level 4 ने किसी भी कलर फ़ंक्शन में alpha इंगित करने के लिए एक cleaner सिंटैक्स पेश किया:
background-color: rgb(59 130 246 / 0.5);
background-color: hsl(210 100% 56% / 0.7);
background-color: oklch(0.6 0.2 250 / 0.8);
यह hex के साथ भी काम करता है:
background-color: #3B82F680; /* 2-डिजिट alpha (80 hex = ~50% opacity) के साथ Hex */
किसी भी hex रंग को उसके rgba समकक्ष में कनवर्ट करने के लिए Color Converter का उपयोग करें।
Transparency के साथ लेयरिंग
सरल Alpha Compositing
जब एक semi-transparent फोरग्राउंड लेयर बैकग्राउंड पर रखी जाती है, तो अंतिम पिक्सेल रंग होता है:
result = foreground × alpha + background × (1 - alpha)
व्यावहारिक Overlay पैटर्न
Darkening overlays हीरो इमेज पर टेक्स्ट पठनीयता में सुधार के लिए:
.hero::after {
content: '';
position: absolute;
inset: 0;
background-color: rgba(0, 0, 0, 0.5);
}
फ्रॉस्टेड ग्लास इफेक्ट (glassmorphism):
.glass-card {
background-color: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(16px);
border: 1px solid rgba(255, 255, 255, 0.2);
}
Overlays के लिए परफॉर्मेंस विचार
तेज़: opacity और rgba बैकग्राउंड
- CSS
opacityप्रॉपर्टी औरrgba()/hsla()बैकग्राउंड रंग सभी आधुनिक ब्राउज़र में GPU पर composited हैं opacity < 1वाले एलिमेंट को उनकी compositor layer में promote किया जाता है
/* GPU-accelerated fade */
.element {
transition: opacity 0.3s ease;
}
महंगा: backdrop-filter
backdrop-filter: blur() — glassmorphism में उपयोग — एलिमेंट के पीछे सभी पिक्सेल को पढ़ने, blur filter लागू करने की आवश्यकता है।
@media (prefers-reduced-motion: reduce) {
.glass-card {
background-color: rgba(20, 20, 30, 0.9);
backdrop-filter: none;
}
}
will-change हिंट
.modal {
will-change: opacity;
opacity: 0;
transition: opacity 0.3s ease;
}
.modal.visible {
opacity: 1;
}
मुख्य निष्कर्ष
- Opacity (0–1) यह बताता है कि एलिमेंट कितना opaque है। CSS
opacityप्रॉपर्टी पूरे एलिमेंट और उसके सभी descendants पर लागू होती है - इमेज में Alpha channel RGB के साथ एक चौथा डेटा चैनल है जो प्रति-पिक्सेल transparency परिभाषित करता है। PNG, WebP, AVIF, और SVG alpha सपोर्ट करते हैं; JPEG और GIF नहीं करते
- rgba() और hsla() CSS प्रॉपर्टी में transparency लागू करते हैं बिना चाइल्ड एलिमेंट को प्रभावित किए
- आधुनिक CSS
/सिंटैक्स का उपयोग करता है:rgb(59 130 246 / 0.5),oklch(0.6 0.2 250 / 0.8) - परफॉर्मेंस के लिए:
opacityऔरrgba()बैकग्राउंड GPU-accelerated और सस्ते हैं;backdrop-filter: blur()महंगा है - किसी भी hex रंग को rgba फॉर्मेट में कनवर्ट करने के लिए Color Converter का उपयोग करें