opacity
शैली पूरे तत्व है और सब कुछ के भीतर प्रभावित करता है। इसका सही उत्तर इसके बजाय एक आरजीबीए पृष्ठभूमि रंग का उपयोग करना है।
सीएसएस काफी सरल है:
.myelement {
background: rgba(200, 54, 54, 0.5);
}
... जहां पहले तीन नंबर आपकी पृष्ठभूमि के रंग के लिए लाल, हरे और नीले रंग के मान हैं, और चौथा 'अल्फा' चैनल मान है, जो मान के समान काम करता है opacity
।
अधिक जानकारी के लिए यह पेज देखें: http://css-tricks.com/rgba-browser-support/-
डाउन-साइड, यह है कि यह IE8 या कम में काम नहीं करता है। मेरे द्वारा जोड़ा गया पृष्ठ कुछ अन्य ब्राउज़रों को भी सूचीबद्ध करता है जो इसमें काम नहीं करते हैं, लेकिन वे अब तक बहुत पुराने हैं; IE6 / 7/8 को छोड़कर वर्तमान उपयोग के सभी ब्राउज़र rgba रंगों के साथ काम करेंगे।
अच्छी खबर यह है कि आप IE को इसके साथ काम करने के लिए मजबूर कर सकते हैं, CSS3Pie नामक हैक का उपयोग कर सकते हैं । CSS3Pie IE के पुराने संस्करणों में कई आधुनिक CSS3 सुविधाओं को जोड़ता है, जिसमें आरजीबीए पृष्ठभूमि रंग शामिल हैं।
पृष्ठभूमि के लिए CSS3Pie का उपयोग करने के लिए, आपको -pie-background
अपने CSS के साथ-साथ PIE behavior
शैली में एक विशिष्ट घोषणा जोड़ने की आवश्यकता है , ताकि आपकी स्टाइलशीट इस तरह दिखे :
.myelement {
background: rgba(200, 54, 54, 0.5);
-pie-background: rgba(200, 54, 54, 0.5);
behavior: url(PIE.htc);
}
उम्मीद है की वो मदद करदे।
[संपादित करें]
जैसा कि इसके लायक है, जैसा कि दूसरों ने उल्लेख किया है, आप कीवर्ड के filter
साथ IE की शैली का उपयोग कर सकते हैं gradient
। CSS3Pie समाधान वास्तव में पर्दे के पीछे इसी तकनीक का उपयोग करता है, लेकिन आपको IE के फिल्टर के साथ सीधे गड़बड़ करने की आवश्यकता को हटा देता है, इसलिए आपकी स्टाइलशीट बहुत अधिक स्वच्छ हैं। (यह अन्य अच्छी विशेषताओं का एक पूरा गुच्छा भी जोड़ता है, लेकिन यह इस चर्चा के लिए प्रासंगिक नहीं है)