2012-09-06 31 views
7

मैंने हाल ही में एक परियोजना में ठोकर खाई है जिसमें 27 विभिन्न सीएसएस फाइलें एक ही विषय द्वारा उपयोग की जाती हैं, और वे एप्लिकेशन में विशिष्ट अनुभागों के लिए हैं, नियम इस तरह विभाजित हैं: मेनूबार के लिए एक सीएसएस फ़ाइल है, इसके लिए दो और फाइलें हैं संपर्क फ़ॉर्म, दूसरा एक पाद लेख, विशिष्ट पृष्ठ स्वरूपण, गैलरी के लिए दो और, करता है।हम कई सीएसएस फ़ाइलों के बजाय एक सीएसएस फ़ाइल का उपयोग क्यों नहीं कर रहे हैं?

इसलिए मैंने सीसा पूछा कि इतनी सीएसएस फाइलों के लिए क्या कारण है और यदि यह सम्मिलित होना सुरक्षित है।

उनका जवाब यह था कि सभी फाइलें 126 केबी, बैंडविड्थ मायने रखती हैं और 500+ सीएसएस नियम हैं, इसलिए चयनकर्ता टकराव को रोकने के लिए सबसे अच्छा नहीं है।

मुझे पता है कि असम्पीडित सीएसएस फाइलों की 126 केबी बहुत भयानक है, लेकिन मुझे यह भी पता है (सर्वोत्तम प्रथाओं की मार्गदर्शिका से) कि इन सभी फ़ाइलों को एकल शॉट डाउनलोड किया जाना चाहिए, इसलिए ब्राउज़र उन्हें एक डाउनलोड करने के बजाय एक बड़ी संख्या में कैश करेगा एक ब्राउज़िंग सत्र में एक।

मुझे इन सभी फ़ाइलों को एक साथ gluing से क्यों नहीं रखना चाहिए? यह एक बड़ी बात है?

+2

एकाधिक सीएसएस फ़ाइलें, या कम से कम अनुभाग होने के कारण, चीजों को साफ और बनाए रखने में आसान रहता है। दूसरी ओर, जैसा कि पहले से ही उत्तर में बताया गया है, 27 सीएसएस फाइलें बेवकूफ हैं। मुझे यह भी समझ में नहीं आता कि किसी भी लेआउट को 500+ नियमों की आवश्यकता कैसे हो सकती है। – Sparky

उत्तर

6

कैस्केडिंग काम करने के कारण, फ़ाइलों को एक साथ जोड़कर नुकसान पहुंचाने का कोई भी संभावित तरीका नहीं है, बशर्ते आप उन्हें स्रोत में दिखाई देने के क्रम में रखें। इससे यह सुनिश्चित होगा कि बाद में फ़ाइलों को ओवरराइड करने के बाद भी फाइलें ऐसा ही होंगी।

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

सब कुछ, 27 सीएसएस फाइलें सिर्फ बेवकूफ हैं। पृष्ठ को देखने के लिए उपयोगकर्ता को 27 कनेक्शन स्थापित करने, अनुरोध करने के लिए अनुरोध और पूर्ण होने के लिए इंतजार करना होगा। अब, यह उचित कैशिंग के साथ कुछ हद तक सुधार करता है, लेकिन यहां तक ​​कि ...

+3

+1 सिर्फ इस लाइन के लिए: _ "27 सीएसएस फाइलें सिर्फ बेवकूफ हैं" _ – Sparky

+0

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

+0

मुझे इस प्रश्न में कुछ भी नहीं दिखता है जिसका अर्थ है कि सभी 27 फाइलें प्रत्येक पृष्ठ में शामिल हैं। ऐसा हो सकता है कि शैलियों का एक आम सेट है, और एक पृष्ठ (या साइट उपखंड) सीएसएस फ़ाइलों का विशिष्ट सेट है, ताकि किसी भी पृष्ठ पर केवल दो या 3 लोड हो जाएं। –

4

मुझे इन सभी फ़ाइलों को एक साथ gluing से क्यों नहीं रखना चाहिए? यह एक बड़ी बात है?

आप जानते हैं कि सीएसएस फ़ाइलें किसी भी विरोधी निर्देशों की जरूरत नहीं है और कहा कि वे आवेदन में प्रत्येक पृष्ठ के लिए एक ही क्रम में लोड किया जाना चाहिए, तो आप चाहिए, वास्तव में, उन्हें एक न्यूनतम किया गया में बंडल हैं सीएसएस फ़ाइल।

लेकिन यह बस यही है। आम तौर पर जब आप स्वयं को इस स्थिति में पाते हैं, तो यह पता लगाना बेहद मुश्किल है कि कौन सी सीएसएस निर्देश स्क्रीन पर लागू होते हैं।

जोर: जिस स्थिति का आप सामना कर रहे हैं वह technical debt इंगित करता है।

+0

+1 और तकनीकी ऋण के संदर्भ में स्वीकार किया गया। –

+0

@ ग्रिजोर-टर्बोडाइज़ेल, "तकनीकी ऋण" लेख अच्छा है, लेकिन यह वास्तव में आपके प्रश्न का उत्तर नहीं देता है ... यह केवल इस संभावना में आपको संभावित कारण बता सकता है। मैं यह देखने में असफल रहा कि यह कैसे किसी को इस तथ्य के बाद आगे बढ़ने में मदद करता है। – Sparky

+1

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

0

जबकि मैं मानता हूं कि 27 सीएसएस फाइलें पूरी तरह से पागल हैं, और आदर्श रूप से इसे विलय और छोटा किया जाना चाहिए, कुछ उपयोग मामले हैं जहां विभाजित स्टाइलशीट समझ में आता है।

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

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

उसने कहा, मुझे बहुत संदेह है कि 27 स्टाइलशीट कभी समझ में आ जाएंगी। मूल लेखक के पास शायद कोई सुराग नहीं था, और सोचा कि यह उस तरह से अधिक संरचित था। मॉड्यूलरलाइज्ड सीएसएस वास्तव में बहुत साफ है, लेकिन इसे हमेशा क्लाइंट तक पहुंचने से पहले विलय और छोटा होना चाहिए। SASS में यह सामान्य कार्य विधि है। आपके पास विशिष्ट भागों या साइट के कार्यों के लिए बहुत आंशिक स्टाइलशीट होंगे, लेकिन जैसे ही आप Ctrl + एस पर आते हैं, यह स्वचालित रूप से एक साफ छोटे पैकेज में विलय हो जाता है।

अब, आप संभवतः प्रत्येक पृष्ठ पर जाकर और आदेश को ध्यान में रखते हुए, आपकी साइट पर सीएसएस फ़ाइलों को लोड करने के क्रम में पता लगा सकते हैं। यह कठिन काम होगा, और इस बात की कोई गारंटी नहीं है कि यह वास्तव में भुगतान करेगा, लेकिन यह किया जा सकता है।