2012-12-11 20 views
5

मैं इस बारे में पिछले 1.5 घंटों के लिए पढ़ रहा हूं और अभी भी संक्षिप्त और निर्णायक उत्तर नहीं मिला।नेस्टेड चयनकर्ता प्रदर्शन प्रभाव और कम

जहां तक ​​मैं ब्राउजर पार्स सीएसएस चयनकर्ताओं को दाएं से बाएं समझता हूं।

एक लंबे CSS चयनकर्ता इसका मतलब है कि इस जैसे:

.card .container .businesscard .pinfo li.pinfo-box span:first-child 

कोड के कम से कम कुशल लाइनों में से एक है करने के लिए कभी तो में यहाँ दिखाई।

सबसे पहले, क्या मैं इस पर सही हूं?

दूसरा, मैं कम से कम एक समृद्ध यूआई डिजाइन कर रहा हूं, जो आखिरकार इस तरह के विशाल चयनकर्ताओं को नेस्टेड डिज़ाइनों से बाहर निकालता है जो मैं कोडिंग कर रहा हूं।

इस तरह के चयनकर्ताओं से बचने के लिए क्या किया जा सकता है? अकेले कक्षाओं और आईडी पर भरोसा करते हैं? लेकिन फिर यदि आप नेस्टेड सीएसएस नहीं लिख सकते हैं तो कम से कम उपयोग करने का उद्देश्य क्या है?

आपके इनपुट की सराहना की जाती है।

+1

ऐसा लगता है जैसे आप अपने चयनकर्ताओं को जटिल बना रहे हैं। क्या उस चयनकर्ता में 'कंटेनर' आवश्यक है? क्या आप वाकई 'स्पैन: पहले-बच्चे' को अलग-अलग स्टाइल करने की योजना बना रहे हैं यदि '.container' अपने पूर्वजों में से एक नहीं है? – cimmanon

+0

मैं देखता हूं। मुझे लगता है कि मैंने बहुत गहराई से घिरा हुआ है। – pilau

+2

विचित्र रूप से पर्याप्त है, सास/एससीएसएस के लिए एक समान सवाल अभी कल पूछा गया था: http: // stackoverflow।कॉम/प्रश्न/13805324/कैसे-खराब-यह-अभ्यास-से-अधिक-घोंसला-चयनकर्ता-इन-एसएएस-एसएसएस – BoltClock

उत्तर

3

यह सही है। ब्राउज़र चयनकर्ताओं को दाएं से बाएं से मूल्यांकन करते हैं। यह li.pinfo-box के अंदर span और अन्य खोजने के लिए प्रयास करेगा।

कम लिखते समय अनुयायी के अंगूठे का एक नियम है: 3-4 से अधिक स्तरों पर घोंसला नहीं है।

यह आपके चयनकर्ताओं को बड़े से बढ़ने से रोक देगा, जबकि आप अभी भी कम से कम घोंसले की सुविधा से लाभ प्राप्त कर पाएंगे।

स्टाइल सूचियों के दौरान "बेकार" घोंसला का एक अच्छा उदाहरण है।

#wrapper .blog-post ul, #wrapper .blog-post ul li

यह वास्तव में निर्दिष्ट करने के लिए कि li एक ul अंदर होना चाहिए आवश्यक है: कभी कभी मैं इस तरह चयनकर्ताओं बारे में?

#wrapper .blog-post li

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

+0

सुझावों के लिए धन्यवाद। हमारे पास अभी भी एक काम करने वाली साइट नहीं है, इस समय केवल यूआई डिज़ाइन कर रही है। हो सकता है कि आप अपने उत्तर की शुरुआत में "बाएं से दाएं" को सही करना चाहें :) – pilau

3

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

+0

यह दिलचस्प है - मैंने पहले कभी ऐसा टूल नहीं उपयोग किया था। मैं विंडोज़ पर एक की तलाश करूंगा। धन्यवाद! – pilau