2013-02-14 37 views
5

अनिश्चित यह कैसे परीक्षण लेकिन जैसा कि बस में एक सीएसएस classname के साथ शासन को अधिलेखित करने के लिए विरोध करते हैं वहाँ Modernizer.load साथ एक प्रश्न के माध्यम से CSS स्टाइलशीट लोड होने से किसी भी निष्पादन लाभ कर रहे हैं करने के लिए एक ही स्टाइलशीट।Overwriting सीएसएस बनाम चुनिंदा लोड हो रहा है सीएसएस

उदाहरण के लिए, मैं लोड करने के लिए एक अलग लेआउट एक युक्ति है तो स्पर्श समर्थन है, तो यह तेजी से करने के लिए है ...

{ 
    test: Modernizr.touch, 
    yep : 'css/touch.css', 
    nope: 'css/base.css' 
} 

या एक ही स्टाइलशीट में शैलियों के ऊपर लिख ...

.container { width: 50% } 

.touch .container { width: 100% } 

लगता अंतर एक बड़ा सीएसएस फ़ाइल होने के वजन बनाम अतिरिक्त क्वेरी की गति के लिए नीचे आता है?

+0

कितना स्पर्श सीएसएस है? –

+1

वैसे यह सैद्धांतिक है लेकिन मुझे लगता है कि वे दोनों तर्कों के लिए वही वजन रखते हैं। –

+0

थोड़ा सा तरफ: 'Modernizr.touch' ** ** परीक्षण नहीं करता है यदि कोई * डिवाइस * स्पर्श करने में सक्षम है, केवल * ब्राउज़र * फायरिंग करने में सक्षम है [टच इवेंट्स] (http://www.w3.org/टीआर/2013/डब्ल्यूडी-टच-इवेंट्स-20130124 /) ... इसके लिए देखें ([ref] (http://modernizr.com/docs/#touchnotes))। 'Modernizr.touch' किसी भी डिवाइस पर IE10 में झूठा है क्योंकि यह टच इवेंट्स स्पेक का पालन नहीं करता है, यह इसके बजाय [सूचक घटनाक्रम] (http://www.w3.org/Submission/pointer-events/) का उपयोग करता है । वास्तव में 'Modernizr.touch' को इस भ्रम को दूर करने के लिए' Modernizr.touchevents' और 'Modernizr.pointerevents' के पक्ष में v3.0 में छोड़ा जा रहा है। –

उत्तर

0

आपको यह समझने की आवश्यकता है कि आपके पास 3 विवरण हैं।

  1. सर्वर पर कॉल करें।

  2. ब्राउज़र समय सभी अपने माता पिता शैली के

  3. फ़ाइलों के वजन की गणना करने के लिए।

तो उत्तर है।

यदि आप लाइन ब्रेक की संपत्ति के बीच बिना सीएसएस लिखने 1 बड़ी फ़ाइल 2 फाइलों से अधिक बड़ा हो जाएगा। और वजन का कारण 1 फ़ाइल बेहतर है।

यदि आपके पास .touch क्लास के साथ बनाने के लिए पूरा पृष्ठ है, तो कक्षाओं के साथ फ़ाइल आने के लिए अधिक गणना की जाती है।

हां, तो मुझे क्या कर रहा हूँ सर्वर सिर्फ एक समय के लिए कॉल और बनाने के एक फ़ाइल कारण सभी शैली के साथ और सर्वर (महत्वपूर्ण समय मूल्य) के लिए कॉल लोड करने के लिए बेहतर है करने के लिए शीघ्र ही

0

मैं हो जाएगा लगता है कि दोनों विकल्प पूरी तरह मान्य हैं।

वहाँ छूने के लिए विशिष्ट सीएसएस कोड की एक बड़ी राशि है, तो मैं हाँ कहेंगे, उन्हें Modernizr साथ में खींच गैर-स्पर्श ब्राउज़रों पर अतिरिक्त बोझ से बचने के लिए।

हालांकि, मेरी प्राथमिकता आमतौर पर इस तरह की चीज़ के लिए ओवरराइड शैलियों का उपयोग करना होगा।

इसका कारण यह है कि मॉडर्निज़र विकल्प के साथ, आप टच शैलियों की लोडिंग में देरी कर रहे हैं, क्योंकि मॉडर्निजर स्क्रिप्ट लोड होने तक और इसे चलाने के लिए तैयार होने तक यह आधुनिकता परीक्षण नहीं कर सकता है।

तो मुख्य पृष्ठ लोड के हिस्से के रूप में लोड होने और प्रारंभिक प्रतिपादन के लिए तैयार होने की तुलना में, यह केवल पृष्ठ लोड के बाद लोड किया गया है, और सीधे तैयार नहीं हो सकता है।

इसी का परिणाम हो सकता है कि पृष्ठ लोड और इससे पहले कि स्पर्श शैलियों लोड किए गए हैं प्रदर्शित हो सकता है। आदर्श नहीं।

यह Modernizr दस्तक नहीं है - यह एक महान उपकरण है - लेकिन अगर तुम क्या आप इसे का उपयोग किए बिना की जरूरत है क्या कर सकते हैं, यह आम तौर पर बेहतर है।