2009-07-23 18 views
54

rgb(255,255,255) सीएसएस 1 के बाद से नोटेशन उपलब्ध है। लेकिन #ffffff काफी लोकप्रिय लगता है।सीएसएस में आरजीबी रंग मूल्यों के लिए दशमलव पर हेक्स का उपयोग करने के कोई अच्छे कारण हैं?

स्पष्ट रूप से यह थोड़ा अधिक कॉम्पैक्ट है। मुझे पता है कि हेक्स अंतर्निहित बाइट से अधिक निकटता से संबंधित है, और समझता है कि उन मूल्यों पर अंकगणित करने में फायदे होंगे, लेकिन ऐसा कुछ नहीं है जिसे आप सीएसएस के साथ करने जा रहे हैं।

रंग मूल्यों का डिजाइन डिजाइनरों (जैसे स्वयं) द्वारा किया जाता है जो कभी भी हेक्स नोटेशन का सामना नहीं करेंगे, और दशमलव नोटेशन से अधिक परिचित हैं जो उनके द्वारा उपयोग किए जाने वाले ऐप्स में रंग निर्दिष्ट करने का मुख्य तरीका है - असल में मैंने कुछ ऐसे लोगों से मुलाकात की है जो यह नहीं समझते कि एक हेक्टेयर हेक्स वैल्यू आरजीबी घटकों में कैसे टूट जाता है और माना जाता है कि यह पैंटोन कलर सिस्टम रेफरेंस (जैसे पीएमएस 432) की तरह बिल्कुल रंग से संबंधित नहीं है।

तो, दशमलव का उपयोग न करने का कोई कारण नहीं है?

+2

अद्यतन: प्रतिक्रियाओं के लिए बहुत धन्यवाद। मुझे नहीं लगता कि या तो उपयोग करने के लिए कोई अनिवार्य कारण स्पष्ट है, और इसलिए एक जवाब चिह्नित नहीं किया है। लेकिन कुछ दिलचस्प पक्ष बिंदु, विशेष रूप से डब्लूसीडब्ल्यूडिन पर [दशमलव को आरजीबीए के लिए आवश्यक है] (http://stackoverflow.com/questions/1171422/are-there-any-good-reasons-for-using-hex-over-decimal-for -rgb-color-values-in-cs/1171543 # 1171543) – e100

+0

हम्म, यह सुनिश्चित नहीं है कि मैं मार्कडाउन के लिंक सिंटैक्स के साथ क्या गलत कर रहा हूं? – e100

उत्तर

1

व्यक्तिगत वरीयता के अलावा कोई वैध कारण नहीं है।

29

हेक्स मान आपके पसंदीदा छवि संपादक से कॉपी और पेस्ट करना आसान है।

आरजीबी मान जावास्क्रिप्ट के साथ हेरफेर करना आसान है।

(मेरा पसंदीदा हेक्स रंग मान #EDEDED जाता है और एक साइट हम मोटरस्पोर्ट में शामिल एक ग्राहक के लिए बनाया # F1F1F1 की एक पृष्ठभूमि रंग था :-)

एड।

2

ब्राउज़र द्वारा रंग का अर्थ होने पर शायद गति का स्पर्श। अन्यथा डिजाइन पृष्ठभूमि से कुछ लोग यह जान सकते हैं कि जब वे कोड लिखते हैं तो आरजीबी घटकों से रंग कैसे लिखते हैं, और प्रोग्रामिंग पृष्ठभूमि से कुछ अन्य शायद हेक्स मानों का उपयोग करने के इच्छुक हैं।

+2

मुझे नीचे वोट नहीं मिलता .. आरजीबी (255,255,255) # एफएफ से अधिक लंबा तरीका है। यह उस गति का स्पर्श है जिसके बारे में मैं बात कर रहा था। –

+1

गति का एक स्पर्श जो कि किसी भी व्यावहारिक स्थिति में महत्वपूर्ण होने की संभावना नहीं है, यह उल्लेखनीय रूप से उल्लेखनीय है, खासकर प्रमुख कारण के रूप में। –

6

परंपरागत रूप से एचटीएमएल हमेशा हेक्स रंगों का उपयोग करता है, ताकि सीएसएस में आगे बढ़े। सोचें <font color="#ffffff">

4

विभिन्न चीजें एक ही हेक्स मान स्वीकार करेगी जहां उनके पास तीन दशमलव मान दर्ज करने के विभिन्न तरीके हो सकते हैं। यह भी तथ्य है कि यह हमेशा 6 वर्ण (या 3, स्वीकार्य रूप से - प्लस #) है जो उनकी सूची को स्कैन करना आसान बनाता है।

बस यादृच्छिक विचार के एक जोड़े मिश्रण में जोड़ने के लिए ...

+3

अच्छा, यह आमतौर पर 6 वर्ण होता है। यह 3 अक्षर भी हो सकता है। – tnyfst

+0

ओह, अच्छा बिंदु। संपादित करेंगे –

6

मुख्य कारण शायद सघनता है, जैसा कि आप का उल्लेख किया। #ffffff को #fff शॉर्टंड नोटेशन के लिए और भी छोटा कर दिया जा सकता है।

एक अन्य संभावित कारण यह है कि ब्राउज़र को rgb नोटेशन को परिवर्तित करने में परेशानी को बचाने के द्वारा एक अनुमानित प्रदर्शन वृद्धि हुई है।

+3

एक कथित प्रदर्शन अंतर है? 1 99 1 से पहले यह लिखा गया था कि क्या यह आपकी टिप्पणी पर दो बार लिया गया था। क्या यह किसी भी डेटा पर आधारित है? – igl

+0

एलएमएओ। किसी भी व्यक्ति के लिए एक विचार प्रयोग जो सोचता है कि वे "ब्राउज़र को परेशानी को बचा रहे हैं": क्या आपको लगता है कि कंप्यूटर मूल रूप से एएससीआईआई के रूप में एन्कोड किए गए हेक्साडेसिमल मानों का उपभोग करते हैं, जो कि दशमलव के मुकाबले कहीं ज्यादा हैं? किसी भी मामले में, ब्राउज़र को एएससीआईआई स्ट्रिंग को 8-बिट संख्याओं में परिवर्तित करना होगा जो प्रतिपादन इंजन की आवश्यकता है। इसके अलावा, हेक्स रंगों का कोई भी आकार लाभ किसी भी गैर-प्रदूषित परिदृश्य में कोई फर्क नहीं पड़ता। –

+0

@underscore_d आप सभी ब्राउज़रों की तरह कार्य करते हैं समान रूप से बनाए जाते हैं। –

1

शायद मैंने HTML बहुत लंबा किया है, लेकिन मुझे हेक्स मानों में सोचना आसान लगता है। एचटीएक्स मूल्यों के लिए एचटीएमएल मानचित्रों के लिए बहुत से प्री-डिफ़ाइंड कलर पैलेट। संक्षिप्त प्रारूप का उपयोग करने से आपको स्वचालित 'वेब-सुरक्षित' रंग भी मिलते हैं, हालांकि यह 32 बिट रंगीन डिस्प्ले के दिनों में वास्तव में कोई समस्या नहीं है।

+4

संक्षिप्त प्रारूप स्वचालित रूप से आपको वेब सुरक्षित रंग नहीं देता है। 216 वेब सुरक्षित रंग प्राप्त करने के लिए आपको घटक मानों को 0,3,6,9, सी और एफ तक सीमित करना होगा। – Guffa

4

सीएसएस का आविष्कार सॉफ्टवेयर डेवलपर्स द्वारा किया गया था, डिजाइनर नहीं। सॉफ्टवेयर डेवलपर्स हेक्स रहते हैं और सांस लेते हैं। मेरे पुराने सी 64 दिनों से, मैं अभी भी बिना किसी सोच के अधिकांश हेक्स संख्या पढ़ सकता हूं। ए 9, कोई भी?

+0

पाठ्यक्रम का 16 9 :) – Guffa

+0

नहीं। एलडीए # एक्स :) –

+0

"संख्या x = 255" लोगों को "संख्या x = #f" की तुलना में गणित सिखाए जाने के तरीके के बारे में अधिक सहज ज्ञान युक्त है। और उन लोगों के लिए जो गणितीय रूप से इच्छुक नहीं हैं "255" भी अधिक सहज है। मशीनरी पर सारण करना क्या हो रहा है में मानव अंतर्दृष्टि में सुधार करने के लिए है। ऐसा कहा जाता है कि, मेरे लिए, # एफएफएफ आरजीबी (255,255,255) के रूप में सहज ज्ञान युक्त है। और क्योंकि मैं आलसी हूं मैं #fff का उपयोग करूंगा :) – jamiebarrow

17

यह ध्यान देने योग्य है कि यदि आप आरजीबीए मूल्य इनपुट करना चाहते हैं, तो हेक्स नोटेशन समर्थित नहीं है; यानी, आप इसे # एफएफएफएफएफएफएफ के साथ नकली नहीं बना सकते हैं। वास्तव में, अल्फा मान 0.0 और 1.0 के बीच एक संख्या होना चाहिए, समावेशी। (ब्राउज़र समर्थन के लिए this page की जाँच करें - हमेशा की तरह, आईई यहाँ पैक अग्रणी है;।))

एचएसएल और HSLA रंग का समर्थन - जो बहुत डिजाइनर अनुकूल है - यह भी करने के लिए इसी तरह की एक वाक्य रचना के साथ प्रदान की जाती है आरजीबी() शैली। यदि एक डिजाइनर एक ही स्टाइलशीट में दोनों प्रकार के रंग मानों का उपयोग करना था, तो वे स्थिरता के लिए हेक्स कोड पर दशमलव मानों का चयन कर सकते हैं।

+0

चूंकि आरजीबीए अधिक व्यापक रूप से उपयोग किया जाता है (यह काफी उपयोगी है), मुझे दशमलव नोटेशन के उपयोग की पुनरुत्थान की उम्मीद है। अच्छी बात! –

+0

यूपी, आरजीबीए पर अच्छा बिंदु। यह सुनिश्चित नहीं है कि डिज़ाइनर रंग मान निर्दिष्ट करने के लिए वास्तव में एचएसएल मानों का उपयोग करेंगे, हालांकि यह रंगीन पिकर्स, रंग समायोजन फ़िल्टर इत्यादि के लिए उपयोग किया जाने वाला एक सहज मॉडल है। – e100

+0

एचएसएल के बारे में अच्छी बात यह है कि आप आसानी से फ्लाई पर मिलान रंग योजनाएं बना सकते हैं और पृष्ठ को रीफ्रेश करने से पहले वे क्या दिखेंगे, इसका एक अच्छा विचार है। एक ही लाल के तीन रंगों को चुनने के लिए फ़ोटोशॉप खोलने की कोई ज़रूरत नहीं है। यहां तक ​​कि मानार्थ रंग भी चुनना आसान है; 120 डिग्री रोटेशन आरजीबी में तुच्छ हैं, लेकिन मुझे यकीन नहीं है कि 180 डिग्री की गणना इतनी आसानी से की जा सकती है। – WCWedin

7

मुझे लगता है कि आप इसका उपयोग कर रहे हैं। यदि आप HTML पर उपयोग किए जाते हैं, तो आप शायद हेक्स का उपयोग करेंगे क्योंकि इसका उपयोग HTML में बहुत अधिक किया गया है। यदि आप फ़ोटोशॉप/कोरल/पेंटशॉपप्रो इत्यादि का उपयोग करते हुए डिज़ाइन पृष्ठभूमि से हैं, तो संभवतः आप आरजीबी नोटेशन के लिए उपयोग किए जाते हैं - हालांकि, इन दिनों कई प्रोग्राम एक हेक्स वैल्यू फ़ील्ड भी शामिल करते हैं।

जैसा कि कहा गया है, आरजीबीए आरजीबी नोटेशन - स्थिरता के साथ जाने का कारण हो सकता है।

हालांकि, मुझे लगता है कि यह परिदृश्य पर भी निर्भर करता है। यदि आप दोनों के साथ सहज हैं, तो आप बस उनके बीच स्विच कर सकते हैं: #fffrgb(255,255,255) से टाइप करना बहुत आसान है।

एक और सवाल यह है कि White के बजाय लोग #fff कहेंगे (अधिकतर ब्राउज़र इस कीवर्ड का समर्थन करते हैं)।

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

#title { color: #abcdef; } 

आप के बजाय कम से निम्न कार्य कर सकता है:

@base-color: #abcdef; 

#title { color: @base-color; } 

सीएसएस को बनाए रखने के कोई समस्या नहीं रह जाता है।

यदि आप ब्राउज़र के प्रदर्शन को इसके परिणाम देने के बारे में चिंतित हैं, तो यह आपकी पसंद के लिए एक और कारक भी हो सकता है।

तो सारांश में, यह करने पर निर्भर करता:

  • परिचित
  • पसंद
  • अनुरक्षणीयता
  • प्रदर्शन
1

हेक्स ऐतिहासिक कारणों की वजह से सबसे आम है।

वेब विकास में सीएसएस सामान्य होने से पहले, रंगों को HTML टैग के भीतर निर्दिष्ट किया गया था और रंग निर्दिष्ट करने के लिए सबसे अधिक उपयोग और समर्थित तरीका हेक्स मानों का उपयोग करना था।

5

मैं हमेशा हेक्स करते थे, लेकिन आज मैं के रूप में मेरे मूल्यों को निर्धारित करने के लिए पसंद:

rgb(82, 110, 188) 
मेरी सीएसएस फ़ाइलों में

, इसलिए जब भी मैं अस्पष्टता जोड़ना चाहते हैं मैं सिर्फ RGBA को rgb नाम बदलने और अस्पष्टता जोड़ने की जरूरत मूल्य। लाभ यह है कि मुझे अस्पष्टता जोड़ने में सक्षम होने से पहले हेक्स मान को आरजीबी में परिवर्तित करने की आवश्यकता नहीं है:

rgba(82, 110, 188, 0.5) 
+6

सास में आप अभी भी हेक्स मानों का उपयोग कर सकते हैं और उन्हें अल्फा के साथ जोड़ सकते हैं। उदाहरण के लिए: '। कंटेनर {पृष्ठभूमि: आरजीबीए (# 36 9, .2); } '। यहां एक ** [JSFiddle में डेमो] (http://jsfiddle.net/rzea/k1ferbLq/) ** है। –

+0

अच्छा एक, साझा करने के लिए thx – chrisweb