2010-03-06 51 views
26

जो चीज़ मैं सबसे ज्यादा CSS3 में नफरत करता हूं वह यह है कि हमेशा दो गुण होते हैं जिन्हें आपको एक प्रभाव करने के लिए रखा जाना चाहिए। मुझे लगता है कि यह पेशेवर नहीं है, और सीएसएस आकार में वृद्धि। उदाहरण के लिए, क्यों वे border-radiusCSS3 में -मोज़-XXX और -webkit-XXX क्यों है?

में -webkit-border-radius और -moz-border-radius एकजुट नहीं कल्पना कीजिए अगर हम 10 ब्राउज़र होते हैं, हम एक गोल कोने प्रभाव ऐसा करने के लिए 10 लाइनों लिखेंगे? कोई भी समझा सकता है?

उत्तर

29

ऐसा इसलिए है क्योंकि वे विक्रेता-विशिष्ट हैं। -webkit- और -moz- -prefixed गुण मानक गुण नहीं हैं। वह "नेमस्पेसिंग" विक्रेताओं को नई शानदार सुविधाओं का परीक्षण करने की अनुमति देता है, और यदि वे महान हैं, तो उन्हें मानकों में शामिल किया जा सकता है। CSS3 के साथ यह हो रहा है: मोज़िला और वेबकिट टीम ने अच्छी चीजों की कोशिश की, और अब वे मानक बनने जा रहे हैं। यह अभी तक अभी तक नहीं किया गया है। आखिरकार यह एक सतत border-radius संपत्ति बन जाएगा।

यह इंगित करने का एक स्पष्ट तरीका है कि सभी ब्राउज़रों पर कुछ काम करने की उम्मीद नहीं है। उदाहरण के लिए, -webkit-transition-property केवल वेबकिट-आधारित ब्राउज़र पर काम करता है।

वैसे भी, -webkit-border-radius और -moz-border-radius बिल्कुल वही काम नहीं करते हैं। ऐसा इसलिए है क्योंकि प्रत्येक विक्रेता, भले ही वे समान चीजें कर रहे हों, उन्हें अपनी इच्छानुसार सुविधाओं को लागू करने की अनुमति है। मानक एक मानक तरीका स्थापित करेगा, लेकिन हर कोई अपने नामस्थान में जो चाहें वह करने के लिए स्वतंत्र है।

+1

लेकिन मेरा मानना ​​है कि, वे दोनों "सीमा-त्रिज्या" को पार्स करने के लिए अपने इंजन बना सकते हैं जैसे उन्होंने "-webkit-" या "-moz-" टैग निर्दिष्ट करें। यदि वे इसे संभालने के इच्छुक नहीं हैं, तो इंजन टैग या विशेषताओं को अनदेखा कर सकते हैं। फिर भी मेरा मानना ​​है कि टैग के साथ "-webkit-" या "-moz-" का उपयोग करने के लिए कुछ विशिष्ट कारण है। –

+3

@ कुमर्सन, विक्रेता मानक गुणों के लिए गैर-मानक वाक्यविन्यास स्वीकार करने के लिए अपने इंजन नहीं बना सकते हैं। मानक गुणों को सभी ब्राउज़रों में केवल एक ही वाक्यविन्यास स्वीकार करना होगा और उन्हें इससे अधिक अनुमोदित नहीं होना चाहिए। सीएसएस को सभी ब्राउज़रों में बिल्कुल समान रूप से काम करना चाहिए: यदि कुछ वाक्यविन्यास एक ब्राउज़र में काम करता है लेकिन दूसरे में नहीं, तो यह मानक नहीं होगा। – zneak

+0

लेकिन यह मानक नहीं है! यही कारण है कि वे इन सभी हुप्स के जरिए कूद रहे हैं, अनावश्यक रूप से। चूंकि यह मानक नहीं है, बस गैर-मानक-मानक टैग का उपयोग करें, और फिर यदि यह मानक बन जाता है ... BOOM: हम जाने के लिए अच्छे हैं! डेवलपर्स को पता होना चाहिए कि कौन से गुण समर्थित हैं और जिनके बिना '-उग्ली-विशिष्ट-उपसर्ग 'की आवश्यकता नहीं है, – Volte

8

-webkit-border-radius और -moz-border-radius CSS3 सीमाओं के मानक पूर्ण होने से पहले बनाए गए थे (यह अभी भी एक अनुमोदित मानक नहीं है - यह वर्तमान में उम्मीदवार अनुशंसा है)।

मानक border-radius के लिए मानक कॉल, जैसा कि आप specification से देख सकते हैं।

वे मोज़िला और वेबकिट के लिए विशिष्ट हैं - मानक स्वीकृत होने के बाद यह सभी सहायक ब्राउज़रों पर border-radius होने चाहिए।

+0

हाय। उस समय यह एक मानक बन जाएगा, क्या उपसर्ग अभी भी समर्थित होगा? (P.s। Con के लिए मेरी बधाई) –

+1

@ रॉयनामिर - जहां तक ​​मुझे पता है, विक्रेता उपसर्ग समर्थित रहेगा, लेकिन उस समय, वास्तव में अब और आवश्यकता नहीं है। और धन्यवाद ... हीरा नौकरी के साथ आता है;) – Oded

संबंधित मुद्दे