2012-07-17 6 views
5

संभव डुप्लिकेट:
Why don't CSS resets use '*' to cover all elements?सार्वभौमिक चयनकर्ता (*) का उपयोग करने से एक शैली असाइन करने के लिए सभी टैग क्यों लिखते हैं?

मैं एक पेज एक हल्के HTML है कर रहा हूँ।

मैं कह रही है कि सार्वभौमिक चयनकर्ता एक बुरी बात है गुरु देखा और कहा कि (से: http://meyerweb.com/eric/tools/css/reset/): की तरह उपयोग करने के लिए बेहतर है है

html, body, div, span, applet, object, iframe, 
h1, h2, h3, h4, h5, h6, p, blockquote, pre, 
a, abbr, acronym, address, big, cite, code, 
del, dfn, em, img, ins, kbd, q, s, samp, 
small, strike, strong, sub, sup, tt, var, 
b, u, i, center, 
dl, dt, dd, ol, ul, li, 
fieldset, form, label, legend, 
table, caption, tbody, tfoot, thead, tr, th, td, 
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary, 
time, mark, audio, video { 
    margin: 0; 
    padding: 0; 
    border: 0; 
    font-size: 100%; 
    font: inherit; 
    vertical-align: baseline; 
} 

सार्वभौमिक चयनकर्ता का उपयोग करना:

* { 
    margin: 0; 
    padding: 0; 
    border: 0; 
    font-size: 100%; 
    font: inherit; 
    vertical-align: baseline; 
} 

क्यों सार्वभौमिक चयनकर्ता एक बुरी बात है?

पृष्ठ लोड के प्रदर्शन को ध्यान में रखते हुए मैं सार्वभौमिक चयनकर्ता को प्राथमिकता देता हूं। क्या कोई और चीज है जिस पर मैं विचार नहीं कर रहा हूं?

+2

लेकिन शीर्ष पर सूची करता है सभी टैग नहीं है। आप अपने सभी टैग – Ibu

+3

एक बात के लिए पर इन गुणों के लिए नहीं करना चाहते हैं, तो आप सिर्फ अतिरिक्त 'input' और' textarea' शैलियों लागू किया है। – robertc

उत्तर

4

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

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

सार्वभौमिक घोषणा के अनुसार, ब्राउज़र को पृष्ठ पर प्रत्येक तत्व के माध्यम से चलना चाहिए और सार्वभौमिक नियम लागू करना चाहिए: तत्व, उनके बच्चे और महान-महान-पोते-पोते सभी समान रूप से, और कुछ दावा करते हैं कि यह एक विशाल हो सकता है संसाधनों और पेज लोड समय पर हिट करें (यह बिंदु आधुनिक ब्राउज़रों के लिए बहस योग्य है।)

इंटरनेट एक्सप्लोरर संस्करण 6 तक और स्टार सहित एचटीएमएल चयनकर्ता बग प्रदर्शित करता है: चयनकर्ता जो विफल होना चाहिए, नहीं। एक अवरोधक चयनकर्ता, जैसे * एचटीएमएल, किसी भी तत्व से मेल नहीं खाता है, क्योंकि एचटीएमएल तत्व शीर्ष-सबसे मूल तत्व है और, जैसा कि, यह किसी भी अन्य तत्व के वंशज नहीं हो सकता है। हालांकि, इंटरनेट एक्सप्लोरर संस्करण 5.5 और 6 इस चयनकर्ता की शुरुआत में सार्वभौमिक चयनकर्ता को अनदेखा करते हैं।

जब सार्वभौमिक चयनकर्ता तुरंत तत्व प्रकार चयनकर्ता के समीप होता है, तो इंटरनेट एक्सप्लोरर संस्करण 6 और 7 संयोजन को एक असंतोष चयनकर्ता के रूप में परिभाषित करने की बजाय विफल होने की बजाय व्याख्या करेगा। इंटरनेट एक्सप्लोरर 6 और 7 में, यह चयनकर्ता कुछ अनुचित एसजीएमएल तत्वों जैसे कि डॉक्टरेट घोषणा और टिप्पणियों का भी चयन करेगा।

+0

इंटरनेट एक्सप्लोरर 6 और 7 के बारे में बयान गलत है, वे सवाल में वर्णित उपयोग मामले में * सार्वभौमिक चयनकर्ता * का समर्थन करते हैं, हालांकि जब वे अन्य चयनकर्ताओं के साथ मिश्रित होते हैं तो वे परेशानी में पड़ते हैं। "माता-पिता से बाल तत्वों के सीएसएस नियमों की विरासत" भी काफी है .. खराब समझाया गया है, क्यों मेरी पोस्ट देखें। –

+0

मुझे आपकी बात मिली .. धन्यवाद – Vinit

+2

* प्रत्येक * ब्राउज़र सार्वभौमिक चयनकर्ता का अपना समर्थन करता है। इसके बारे में कोई विवाद नहीं है। – BoltClock

7
  • सार्वभौमिक-चयनकर्ता अन्य परिभाषित नियमों पर बहुत कम पूर्वता है ..

    एक कारण यह है कि सार्वभौमिक-चयनकर्ता बहुत कम पूर्वता है और न मूल्यों "के ऊपर लिख" कर सकते हैं एक और विशिष्ट चयनकर्ता द्वारा परिभाषित, नीचे उदाहरण देखें।

    भले ही हम "रीसेट" करना चाहते हैं सभी तत्वों पृष्ठभूमि रंगblue चयनकर्ता div उपयोग करने के लिए भले ही * बाद में घोषित किया जाता है बेहतर विकल्प है और का उपयोग किया जाएगा।

 div {background-color:red} 
    * {background-color:blue}

  • सार्वभौमिक-चयनकर्ता का उपयोग करके आप नियंत्रण आप चाहते हो सकता है ..

    सार्वभौमिक-चयनकर्ता का उपयोग की अनुमति नहीं देगा नहीं होगा किसी भी नियंत्रण प्रदान करें कि सटीक तत्वों में वास्तव में गुण सेट होंगे, यह आसान है हटाने/एक स्पष्ट सूची से/तत्वों को जोड़ने की तुलना में वहाँ नहीं लिए सीएसएस लिखने के लिए कुछ वस्तुओं को रीसेट है।


  • सार्वभौमिक-चयनकर्ता का उपयोग करते हुए जाहिरा तौर पर बहुत धीमी गति से

    आप समय और यकीन है कि यह संसाधनों को डाउनलोड करने के लिए तेजी से हो जाएगा किसी पृष्ठ को लोड करने के लिए ले जाता है का उल्लेख किया है आवश्यक अगर आप एक चरित्र (*) लिखने के बजाय कई और अधिक (वैकल्पिक और सिफारिश रीसेट का उपयोग कर), लेकिन सामग्री को डाउनलोड करने है सब नहीं देखते कितनी तेजी से एक पृष्ठ प्रदर्शित करेगा है।

    के रूप में मोज़िला डेवलपर सार्वभौमिक-चयनकर्ता के बारे में नेटवर्क द्वारा लिखित:

    नोट: लेखक सार्वभौमिक चयनकर्ता का उपयोग के रूप में यह वेबपेज प्रदर्शन के मामले में सबसे महंगी CSS चयनकर्ता है से हतोत्साहित कर रहे हैं।

    आप चयनकर्ता की महंगाई के बारे में अधिक पढ़ सकते हैं इन लिंक का अनुसरण करके:

+1

बस एक डाउन-वोट मिला, कोई भी यह बताने की परवाह करता है कि वह क्यों है? –