2013-02-11 110 views
5

मुझे पता है कि अगर हम यकीन है कि कुछ CSS3 सुविधाओं हर जगह काम करना चाहते हैं हम W3C के उपसर्ग के संस्करणों का उपयोग करने की जरूरत है की सिफारिश की तरह एक:सीएसएस उपसर्ग का उद्देश्य क्या है?

transition: all 1s ease; 
-moz-transition: all 1s ease; 
-o-transition: all 1s ease; 
-webkit-transition: all 1s ease; 

मुझे पता है कि उपसर्गों प्रायोगिक सुविधाओं के लिए उपयोग किया जाता है, लेकिन क्यों क्या वे आवश्यक हैं? वे मूल W3C एक पर उनका परीक्षण क्यों नहीं करते? क्या प्रत्येक CSS3 फीचर में प्रत्येक ब्राउज़र के लिए उपसर्ग है या वे सिर्फ एक उपसर्ग संस्करण बनाते हैं यदि उन्हें लगता है कि उन्हें चाहिए?

+0

की "क्यों सिर्फ मानक का पालन नहीं" flexbox मॉड्यूल है एक अच्छा उदाहरण है। विनिर्देश वर्षों से काम में रहा है, और किसी भी ब्राउज़र में लागू किया गया पहला मसौदा 200 9 से था। तब से, मसौदा पूरी तरह से लिखा गया है। संपत्ति के नाम बदल गए हैं साथ ही कुछ गुणों के मूल्य भी बदल गए हैं। यह सितंबर 2012 तक नहीं था कि विनिर्देश * उम्मीदवार सिफारिश * बन गया। – cimmanon

उत्तर

6

विक्रेता उपसर्ग का मूल उद्देश्य विक्रेताओं को उनके सीएसएस कार्यान्वयन में उपयोग के लिए अपनी गैर-मानक सुविधाओं को जोड़ने की क्षमता देना था। हालांकि, उनमें से अधिकतर चीजों के प्रयोगात्मक संस्करणों के लिए उपयोग किए जाते हैं जो अंततः मानक बन जाते हैं।

यदि कोई प्रायोगिक संपत्ति अपरिवर्तित है, तो इसका तात्पर्य है कि यह संपत्ति का सही, मानक संस्करण है। यदि हर ब्राउज़र इसे अलग-अलग प्रस्तुत करता है, तो मानक का अधिकतर नहीं है। इसके बजाए, एक ब्राउज़र एक अपरिवर्तित संपत्ति को लागू करने से बचाता है जब तक कि यह सुनिश्चित न हो कि यह मानक के अनुसार किया जाता है, तो यह अपरिपक्व संपत्ति का समर्थन करने के तरीके के रूप में यह कहने के तरीके के रूप में समर्थन करता है कि यह इस विशेष मानक को सही तरीके से समर्थन देता है।

प्रत्येक सुविधा में उपसर्ग नहीं है; वास्तव में, एक विक्रेता केवल एक उपसर्ग बनाता है अगर इसे आवश्यक समझा जाता है।

+2

इसके अतिरिक्त, जब मानक स्थिर हो गया है (अभ्यर्थी अनुशंसा) जब विक्रेताओं * उपसर्ग को छोड़ने के लिए * माना जाता है। वेबकिट आधारित ब्राउज़र केवल एक ही हैं जो कई नए गुणों पर उपसर्ग को छोड़ने से इंकार कर रहे हैं (देखें: http://caniuse.com/#search=gradient)। – cimmanon

+0

@cimmanon: वेबकिट से नफरत करने के लिए मुझे और कारण बताएं! – BoltClock

+1

वह क्या है? आप * अधिक * कारण चाहते हैं? ठीक अब तुम शुरु करो! http://css-tricks.com/tldr-on-vendor-prefix-drama/ – cimmanon

1

जो लोग प्रयोगात्मक कार्यों का उपयोग करते हैं, वे पहले ही जानते हैं कि एक मानक, क्रॉस ब्राउज़र व्यवहार की अपेक्षा नहीं की जानी चाहिए।

मेरी राय में नई सुविधाओं को उपसर्ग करने की कोई आवश्यकता नहीं है। यह उन्हें उपयोग करना कठिन बनाता है क्योंकि आपको मानक संपत्ति, क्रोम की प्रीफिक्स्ड प्रॉपर्टी, फ़ायरफ़ॉक्स, ओपेरा लिखना है ... यह स्टाइलशीट को भी बड़ा बनाता है (जो भविष्य में उन सभी प्रीफिक्स्ड गुणों को हटाने जा रहा है, जब उनकी आवश्यकता नहीं होती है अब और?)।

मुझे कोई लाभ नहीं दिख रहा है, लेकिन यह मेरी राय है।

1

हां .. भविष्य में हमें अलग-अलग ब्राउज़र के लिए इन उपसर्गों का उपयोग नहीं करना पड़ेगा, लेकिन अब प्रत्येक ब्राउज़र में अलग-अलग सीएसएस पुस्तकालय हैं, इसलिए फ्रंट एंड डेवलपर के रूप में हमें इन उपसर्गों को हमारे सीएसएस में अन्य ब्राउज़रों का उपयोग करना होगा हमारे सीएसएस प्रस्तुत नहीं करेगा। इस तरह वे काम करते हैं और हमने उनका अनुसरण किया है।

यहाँ वेबकिट और Firefox उपसर्ग पुस्तकालयों के liks

http://developer.apple.com/library/safari/#documentation/InternetWeb/Conceptual/SafariVisualEffectsProgGuide/Gradients/Gradient.html

https://developer.mozilla.org/en-US/docs/CSS/CSS_Reference/Mozilla_Extensions