2010-06-18 2 views
21

मैं एक HTML पृष्ठ में सीएसएस फ़ाइलों को लोड करने का आदेश जानना चाहता हूं।एक HTML पृष्ठ में सीएसएस फ़ाइलों को लोड करने का आदेश क्या है?

मेरी वास्तविक आवश्यकता इस तरह है: मेरे पास मेरे आवेदन में 10 से अधिक सीएसएस फ़ाइलें हैं।

मैं प्रत्येक HTML पृष्ठ में कुछ 3 से 4 सीएसएस फ़ाइलों को आयात कर रहा हूं। समस्या यह है कि मेरे पास डुप्लिकेट कक्षाएं हैं जो कुछ सीएसएस फ़ाइलों में परिभाषित हैं। इसका मतलब है कि मैं सीएसएस फ़ाइलों में से कुछ सीएसएस वर्गों को ओवरराइड करता हूं। कुछ पृष्ठों में यह सही तरीके से व्यवहार करता है। कुछ पृष्ठों में यह गलत तरीके से व्यवहार करता है। मेरे पास HTML पृष्ठ में कुछ डीआईवी के लिए परिभाषित इनलाइन शैलियों भी हैं। मैं उस डीवीवी के लिए सीएसएस कक्षा भी रख रहा हूं।

क्या कोई यह जान सकता है कि कौन सी उच्च प्राथमिकता लेगा या कौन सा पहले लोड करेगा?

+0

आपके द्वारा किए गए सभी महान उत्तरों के अलावा आप उन सभी फ़ाइलों को शामिल करने पर भी विचार कर सकते हैं, एक PHP फ़ाइल सेट करें जो इसे करता है (पूर्व के लिए readfile) और इसे क्लाइंट के लिए एक के रूप में सेवा दें। सर्वर और उपयोगकर्ता दोनों धन्यवाद देंगे! – Frankie

उत्तर

26

आम तौर पर अंतिम नियम प्राथमिकता लेता है। ऐसा कहा जा रहा है कि, इनलाइन शैलियों में "अपवाद" बाहरी स्टाइलशीट पर एक प्राथमिकता लेते हैं (एक इनलाइन! महत्वपूर्ण बाहरी से महत्वपूर्ण है! महत्वपूर्ण, आदि), और अधिक विशिष्ट चयनकर्ता जेनेरिक चयनकर्ताओं को ओवरराइड करते हैं।

@http://www.w3.org/TR/CSS2/cascade.html

+0

ठीक है, बाहरी फ़ाइल लोडिंग कैसे होगी? क्या यह सीएसएस फ़ाइल, नाम या किसी अन्य पैरामीटर के आकार पर निर्भर करता है? –

+1

बाह्य फ़ाइलों को डीओएम में शामिल किए गए क्रम को लोड किया जाता है, और 'आयातक' से पहले आयातित स्टाइलशीट लोड किया जाता है। – p00ya

14

सीएसएस फ़ाइलें आदेश है कि वे पृष्ठ में दिखाई में लोड किए गए हैं यह सब के बारे में पढ़ें। यदि किसी सीएसएस फ़ाइल में कक्षा को फिर से परिभाषित किया गया है, तो यह पिछले वर्ग विवरणों को ओवरराइड कर देगा।

तो
div.sample { background: none; width: 200px }
और
div.sample { color: #FFF; width: 400px }
बन
div.sample { background: none; color: #FFF; width: 400px }

तुम भी नियम अन्य निर्धारित नियमों से प्राथमिकता दी जाती बनाने के लिए '! महत्वपूर्ण' ऐड उपयोग कर सकते हैं होगा।

तो
div.sample { background: none; width: 200px !important }
और
div.sample { color: #FFF; width: 400px }
बन जाएगा
div.sample { background: none; color: #FFF; width: 200px !important }

नोट: '! महत्वपूर्ण' बहुत से लोग के खिलाफ अपने सीएसएस फ़ाइलों में ऐड का उपयोग कर सलाह देगा। व्यक्तिगत रूप से, मुझे इसके साथ कुछ भी गलत नहीं लगता है।

+4

हालांकि इसमें कुछ भी गलत नहीं है! महत्वपूर्ण, जब कोई अनावश्यक रूप से उपयोग किया जाता है तो समस्या उत्पन्न होती है; यह शैलियों को ओवरराइड करना अधिक कठिन बनाता है (बस बाद में दिखाई देने वाला एक नया नियम बनाना या अधिक विशिष्टता अधिक लचीलापन प्रदान करेगा)। "महत्वपूर्ण युद्ध" में जाना मुश्किल नहीं है, जहां गुणों से भरे हुए हैं!महत्वपूर्ण क्योंकि अलग-अलग (आलसी) डेवलपर एक-दूसरे के नियमों को ओवरराइड करने का प्रयास कर रहे हैं। डब्ल्यू 3 सी के लिए मुख्य प्रेरणा! उपयोगकर्ताओं को लेखक स्टाइल शीट को ओवरराइड करने का एक आसान तरीका देना था। – squidbe

3

प्रत्येक तत्व को अंतिम स्टाइल शीट से गुणों के आधार पर प्रस्तुत किया जाएगा, जहां से इसे चुना गया है। !important; के रूप में घोषित गुण अपवाद हैं। समस्या का एक हिस्सा यह है कि आपके पास 10 स्टाइल-शीट हैं।

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