सीएसएस रंग मॉड्यूल स्तर 4 शायद 4 और 8 अंकों के हेक्साडेसिमल RGBA अंकन का समर्थन करेगा !
तीन हफ्ते पहले (18 दिसंबर 2014 को) सीएसएस कलर मॉड्यूल लेवल 4 के संपादक का मसौदा सीएसएस डब्ल्यू 3 सी वर्किंग ग्रुप को सौंपा गया था। हालांकि एक ऐसे राज्य में जो बदलने के लिए अतिसंवेदनशील है, दस्तावेज़ के वर्तमान संस्करण का तात्पर्य है कि कुछ हद तक निकट भविष्य में सीएसएस 4 और 8-अंक दोनों हेक्साडेसिमल RGBA संकेतन का समर्थन करेगा।
नोट: निम्नलिखित उद्धरण में अप्रासंगिक विखंडन है और जब आप इसे पढ़ते हैं, तो स्रोत भारी रूप से संशोधित हो सकता है (जैसा कि ऊपर उल्लेख किया गया है, यह एक संपादक का मसौदा है और अंतिम दस्तावेज नहीं है)।
अगर चीजें बहुत बदल गई हैं, तो कृपया मुझे एक टिप्पणी छोड़ दें जिससे मुझे पता चले कि मैं इस उत्तर को अपडेट कर सकता हूं!
§ 4.2। RGB हेक्साडेसिमल नोटेशन: #RRGGBB
A का सिंटैक्स <hex-color>
एक <hash-token>
टोकन है जिसके मान में 3, 4, 6 या 8 हेक्साडेसिमल अंक होते हैं । दूसरे शब्दों में, एक हेक्स रंग को हैश वर्ण, "#" के रूप में लिखा जाता है, इसके बाद कुछ अंकों 0-9
या अक्षरों a-f
( अक्षरों का मामला मायने नहीं रखता - #00ff00
समान है #00FF00
)।
8 अंक
पहले 6 अंकों की व्याख्या 6 अंकों के अंकन के लिए अनौपचारिक रूप से की जाती है। एक हेक्साडेसिमल संख्या के रूप में व्याख्या किए गए अंकों की अंतिम जोड़ी, रंग के अल्फा चैनल को निर्दिष्ट करती है, जहां 00
पूरी तरह से पारदर्शी रंग का ff
प्रतिनिधित्व करता है और पूरी तरह से अपारदर्शी रंग का प्रतिनिधित्व करता है।
उदाहरण 3
दूसरे शब्दों में, #0000ffcc
उसी रंग का प्रतिनिधित्व करता है rgba(0, 0, 100%, 80%)
(थोड़ा पारदर्शी नीला)।
4 अंक
यह 8-अंकीय संकेतन का एक छोटा रूप है, 3-अंक संकेतन के समान "विस्तारित" है। हेक्साडेसिमल संख्या के रूप में व्याख्या किया गया पहला अंक, रंग के लाल चैनल को निर्दिष्ट करता है, जहां 0
न्यूनतम मूल्य का f
प्रतिनिधित्व करता है और अधिकतम का प्रतिनिधित्व करता है। अगले तीन अंक क्रमशः हरे, नीले और अल्फा चैनलों का प्रतिनिधित्व करते हैं।
सीएसएस रंगों के भविष्य के लिए इसका क्या मतलब है?
इसका मतलब यह है कि यह पूरी तरह से स्तर 4 दस्तावेज़ से हटाया नहीं गया है, हम जल्द ही हमारे RGBA रंग (या HSLA रंग, यदि आप उन लोगों में से एक हैं ) को हेक्साडेसिमल प्रारूप में ब्राउज़रों में परिभाषित करने में सक्षम होंगे जो रंग का समर्थन करते हैं मॉड्यूल स्तर 4 का सिंटैक्स।
उदाहरण
elem {
background: rgb(0, 0, 0); /* RGB notation (no alpha). */
background: #000; /* 3-digit hexadecimal notation (no alpha). */
background: #000000; /* 6-digit hexadecimal notation (no alpha). */
background: rgba(0, 0, 0, 1.0); /* RGBA notation. */
/* The new 4 and 8-digit hexadecimal notation. */
background: #0000; /* 4-digit hexadecimal notation. */
background: #00000000; /* 8-digit hexadecimal notation. */
}
मैं अपने क्लाइंट-फेसिंग उत्पादों में इसका उपयोग कब कर पाऊंगा?
सभी चुटकुले एक तरफ: यह वर्तमान में केवल 2015 की शुरुआत है, इसलिए ये किसी भी ब्राउज़र में अभी कुछ समय के लिए समर्थित नहीं होंगे - भले ही आपका उत्पाद केवल उन ब्राउज़रों के सबसे अद्यतित होने पर काम करने के लिए डिज़ाइन किया गया हो जल्द ही किसी भी समय एक उत्पादन ब्राउज़र में कार्रवाई में इसे नहीं देखा जा सकता है।
#RRGGBBAA रंग संकेतन के लिए वर्तमान ब्राउज़र समर्थन देखें
हालाँकि, यह कहा गया है, सीएसएस के काम करने के तरीके का मतलब है कि हम वास्तव में आज इनका उपयोग शुरू कर सकते हैं! यदि आप वास्तव में अभी से इनका उपयोग शुरू करना चाहते हैं, तो जब तक आप किसी भी गैर-समर्थन वाले ब्राउज़र को वापस नहीं जोड़ते हैं, तब तक नई संपत्तियों की अनदेखी नहीं करेंगे, जब तक कि उन्हें वैध नहीं माना जाता:
figure {
margin: 0;
padding: 4px;
/* Fall back (...to browsers which don't support alpha transparency). */
background: #FEFE7F;
color: #3F3FFE;
/* Current 'modern' browser support. */
background: rgba(255, 255, 0, 0.5);
color: rgba(0, 0, 255, 0.75);
/* Fall... foward? */
background: #ffff007F; /* Or, less accurately, #ff08 */
color: #0000ffbe; /* Or #00fc */
}
<figure>Hello, world!</figure>
जब तक आप सीएसएस में गुणों background
और color
गुणों का समर्थन करने वाले ब्राउज़र पर इस उत्तर को देख रहे हैं , <figure>
उपरोक्त स्निपेट के परिणाम वाला तत्व इसके समान दिखाई देगा:
हमारे <figure>
तत्व का निरीक्षण करने के लिए विंडोज पर क्रोम के सबसे हाल के संस्करण (v39.0.2171) का उपयोग करना , हम निम्नलिखित देखेंगे:
6-अंकीय हेक्साडेसिमल फ़ॉल बैक rgba()
मानों द्वारा ओवरराइड किया जाता है, और हमारे 8-अंक हेक्साडेसिमल मानों को अनदेखा कर दिया जाता है क्योंकि वर्तमान में उन्हें क्रोम के सीएसएस पार्सर द्वारा अमान्य माना जाता है। जैसे ही हमारा ब्राउज़र इन 8-अंकीय मानों का समर्थन करता है, ये rgba()
लोगों को ओवरराइड कर देंगे ।
UPDATE 2018-07-04: फ़ायरफ़ॉक्स, क्रोम और सफारी अब इस संकेतन का समर्थन कर रहे हैं, एज अभी भी गायब है लेकिन संभवतः ( https://caniuse.com/#feat=css-rrggbbaa ) का अनुसरण करेगा ।
rgb(0xff,\x80,#44)
आश्चर्यजनक रूप से अष्टक प्रतिनिधित्व थोड़ा साrgb(0100, 0200,0300)
#4080C0