2016-04-27 7 views
5

सैद्धांतिक रूप से सीएसएस बाल चयनकर्ता टैग चयनकर्ताओं से अधिक कुशल हैं। लेकिन जब आपके पास कक्षा होती है तो आपको क्या होता है और आपको इस कक्षा तत्व के अंदर एक विशिष्ट टैग तैयार करने की आवश्यकता होती है लेकिन वे पहले स्तर के बच्चे नहीं हैं?सीएसएस एकाधिक बाल चयनकर्ता बनाम एकल टैग चयनकर्ता प्रदर्शन

.styled-table > tbody > tr > td{ 
    // Some cell styles 
} 

वी.एस.

.styled-table td{ 
    // Some cell styles 
} 

इनमें से कौन सा बेहतर सीएसएस प्रदर्शन अभ्यास है:

एक उदाहरण देखने दिया जाए?

+1

"लेकिन जब आपके पास कक्षा होती है तो आपको क्या होता है और आपको इस कक्षा तत्व के अंदर एक विशिष्ट टैग तैयार करने की आवश्यकता होती है लेकिन वे पहले स्तर के बच्चे नहीं हैं?" फिर प्रदर्शन पूरी तरह से अप्रासंगिक हो जाता है। – BoltClock

+1

सीएसएस दुभाषिया द्वारा दाएं से बाएं से पढ़ा जाता है, छोटे चयनकर्ता === अधिक प्रदर्शन। –

उत्तर

5

प्रति MDN: वंशज चयनकर्ता से बचें ~

वंशज चयनकर्ता सीएसएस में सबसे महंगी चयनकर्ता है।। यह डरावना महंगा है - खासकर अगर चयनकर्ता टैग या यूनिवर्सल श्रेणी में है।

आप तार्किक रूप से के माध्यम से यह लगता है, तो एक वंशज चयनकर्ता के साथ, सीएसएस इंजन पेरेंट तत्व के प्रत्येक बच्चे (इस मामले td टैग में) मैचों की तलाश में (इस मामले .styled-table में) की जाँच करेगी और प्रत्येक उन बच्चों के बच्चे और इतने पर और आगे।

एक बच्चे चयनकर्ता के साथ, हालांकि, आप इंजन को बिल्कुल बता रहे हैं कि एक मैच देखने के लिए "पथ" का पालन करना है। यदि यह पथ में किसी भी बिंदु पर एक मैच खोजने में विफल रहता है (उदाहरण के लिए, यदि आपके .styled-table में tbody आपके तत्काल बच्चों में से एक नहीं है) तो यह चयनकर्ता को त्याग देगा।

+0

जो लिंक आपने एमडीएन दस्तावेज रिपोर्ट में पोस्ट किया है वह यह भी है कि उन दिशानिर्देश 2000 में लिखे गए थे और अब आधुनिक ब्राउज़र के लिए प्रासंगिक नहीं हो सकते हैं। – fbid

+1

ओह, मुझे पता था, लेकिन जब यह Google पर पॉप अप हुआ, तो इसकी तारीख 15 जनवरी 2016 थी, इसलिए मुझे लगता है कि इसे अपडेट किया गया है। थोड़ी अधिक गूगलिंग से पता चलता है कि दोनों चयनकर्ताओं के पास अभी भी खराब प्रदर्शन है, अन्य चयनकर्ताओं के सापेक्ष, और यह कि बाल चयनकर्ता वंशज चयनकर्ता से बेहतर प्रदर्शन करता है। – Shaggy

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