2010-12-13 21 views
5

मेरे पास सीएसएस और वेबसाइटों से संबंधित एक सामान्य डिजाइन प्रश्न है। मुझे पता है कि यह जितना संभव हो सके कोड को सामान्य करने और डुप्लिकेशन से बचने के लिए अच्छा कंप्यूटर विज्ञान है। तो यह मेरे लिए कारण होगा, कम से कम सिद्धांत में कि वेबसाइट के लिए स्टाइलशीट व्यवस्थित करते समय कोई भी ऐसा ही करेगा।बड़ी साइटों के लिए सीएसएस व्यवस्थित करना

तो जब मैंने अपनी सबसे हाल की वेबसाइट पर शुरुआत की तो मैंने इसी दर्शन के साथ शुरुआत की। यह मेरी पहली कुछ पन्नों के लिए ठीक काम किया है और जब तक मैं केवल फ़ायरफ़ॉक्स में परीक्षण किया गया था ...

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

  1. मैं अपनी साइट में प्रत्येक मास्टर पेज लेआउट के लिए एक बहुत ही सीमित शीर्ष स्तर सीएसएस फ़ाइल है, यह है कि लेआउट भर में अच्छी तरह से ज्ञात शैलियों के साथ-साथ सीएसएस के लिए कक्षाओं में शामिल है मास्टर पेज के लिए।

  2. मैं प्रत्येक पृष्ठ के लिए विशिष्ट सीएसएस शैलियों को रखता हूं।

  3. मैं एम्बेड करने योग्य पृष्ठ तत्वों के लिए विशिष्ट सीएसएस शैलियों रखने/नियंत्रित करता

मैं इस मार्ग ले जा रहा पर भरोसा कर सकती है, ताकि यह है कि एक पृष्ठ पर परिवर्तन गलती से जिसके परिणामस्वरूप साइट के अन्य पृष्ठों को तोड़ने नहीं होगा समाप्त बहुत सारे प्रतिगमन कीड़े में।

अन्य लोग इस पर पहुंचते समय क्या करते हैं? क्या यह एक अच्छा/बुरा दृष्टिकोण है ... मुझे इस दृष्टिकोण के लिए विपक्ष दिखाई देता है, कुछ पेज बहुत समान हैं इसलिए महत्वपूर्ण परिवर्तन करने का मतलब है कि अधिक सीएसएस कोड बदलना, मुझे यह भी लगता है कि समर्थक इसे दैनिक आधार पर बढ़ा देता है।

अन्य डेवलपर्स इस दर्शन के बारे में क्या सोचते हैं? अच्छा? खराब? बस उत्सुक वास्तव में ...

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

अपने इनपुट

उत्तर

3
बस कोड के किसी भी अन्य प्रकार की तरह

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

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

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

+0

इस पर प्रदर्शन लागत पर प्रतिक्रिया के लिए धन्यवाद। शायद यह है कि मैं हालांकि साथ रहने के लिए तैयार हूं। रखरखाव के पहले बिंदु पर कठिन और कठिन हो रहा है, व्यक्तिगत रूप से मुझे आश्चर्य है कि यह कट और सूखा है या नहीं। दोनों के लिए पेशेवर और विपक्ष हैं। आपके द्वारा सुझाए गए दृष्टिकोण के साथ (जिस तरह से मैंने शुरू किया), मैंने पाया कि प्रत्येक बार सीएसएस संपादित किया गया था, साइट पर प्रत्येक पृष्ठ को प्रतिलिपि परीक्षण (प्रत्येक ब्राउज़र पर) होना चाहिए, ताकि आप पेज जोड़ सकें, आपका रिग्रेशन टेस्ट मैट्रिक्स तेजी से बढ़ता है (ब्राउज़रों की संख्या से गुणा) ... विचार? एक स्टाइल गाइड का उल्लेख करने के लिए – Introgy

+1

+1। @Introgy, यदि आप अपने पृष्ठों पर सामग्री के सरल लेकिन पूर्ण उदाहरणों के साथ एक HTML शैली मार्गदर्शिका रखते हैं तो कई ब्राउज़रों में परीक्षण करना आसान होगा। यदि आप सीएसएस का उपयोग कर रहे हैं क्योंकि इसका इरादा है, तो बदलाव के दौरान आपको हर पृष्ठ को रीस्टेट नहीं करना चाहिए। – PhillFox

+0

+ सभी मदद चार्ल्स के लिए धन्यवाद। मेरे पास अब बहुत कम सीएसएस है, मुझे लगता है कि मैं मुद्दों में कहां चल रहा था, मेरे पास इस काम के लिए बहुत विशिष्ट था जो प्रत्येक पर लेआउट के साथ बहुत ही अनूठे रूप हैं। एक बार फिर धन्यवाद – Introgy

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