2012-02-10 11 views
18

मेरे पास कई स्टाइलशीट हैं I पहला स्टाइलशीट कुछ शैलियों के साथ है जिसे मैं डिफ़ॉल्ट के रूप में उपयोग करना चाहता हूं। कई कारकों के आधार पर, पृष्ठ उत्पन्न करने के लिए उपयोग किए जाने वाले कोड में कुछ स्टाइलशीट शामिल हो सकते हैं जो डिफ़ॉल्ट को ओवरराइड करना चाहिए।क्या सीएसएस स्टाइलशीट परिभाषाओं का क्रम मायने रखता है?

यदि मैं इसका उपयोग करता हूं, तो क्या मैं भरोसा कर सकता हूं कि डिफ़ॉल्ट स्टाइलशीट में मान अन्य स्टाइलशीट के मानों से ओवरराइड हो जाएंगे? मैं कक्षा चयनकर्ताओं का उपयोग कर रहा हूं और नाम मिलान करते समय मूल्यों को ओवरराइड कर दूंगा।

<link href="defaults.css" rel="stylesheet" type="text/css"/> 
<link href="valuestooverridedefaults.css" rel="stylesheet" type="text/css"/> 

इसे मोबाइल सहित सभी ब्राउज़रों पर काम करने की आवश्यकता है। यदि संभव हो तो मैं "महत्वपूर्ण" का उपयोग करने से बचना चाहता हूं।

धन्यवाद!

+2

वाह, दोस्तों। यह बहुत सारे समान उत्तर है। lol वैसे भी, @ जोन, आप इस लेख को उपयोगी पा सकते हैं। यह सब कुछ स्पष्ट रूप से बताता है। http://hungred.com/useful-information/css-priority-order-tips-tricks/ –

उत्तर

16

एक परिभाषित cascade है जिसमें शैलियों को क्रमबद्ध और लागू किया जाता है। जब घोषणाएं समान होती हैं महत्व (वजन), मूल और विशिष्टता तो बाद की घोषणा जीत जाती है।अधिकांश उत्तर महत्व और विशिष्टता यहां पर मूल नहीं है।

यहां CSS Cascades के बारे में कुछ बहुत अच्छी स्लाइडें दी गई हैं।

+2

FYI। स्लाइड से लिंक मर चुका है। – Seagull

+0

यह हो सकता है: http://css.maxdesign.com.au/#downloadable – Jellema

+1

सीएसएस के लिए यह सबसे अच्छा शिक्षण संसाधन है जो मैंने देखा है। मेरे लिए काम किया – raarts

2

हां, इस तरह स्टाइलशीट काम करते हैं। आखिरी जीतता है।

बस सुनिश्चित करें कि डिफ़ॉल्ट स्टाइल शीट की विशिष्टता आपके ओवरराइड से अधिक नहीं है। और हाँ, इससे बचें! महत्वपूर्ण यदि आप कर सकते हैं। यह सिर्फ मूर्ख है।

2

अगर मैं इस का उपयोग, मैं विश्वास कर सकते हैं कि डिफ़ॉल्ट स्टाइलशीट में मानों अन्य स्टाइलशीट से मूल्यों से ओवरराइड कर दिया जाएगा? मैं कक्षा चयनकर्ताओं का उपयोग कर रहा हूं और नाम मिलान करते समय मूल्यों को ओवरराइड कर दूंगा।

उत्तर "हां" है, जैसा कि आपने नोट किया था, जब दूसरी शीट पर चयनकर्ता पहले के समान होते हैं।

!important का उपयोग अपवाद होगा, इसलिए इससे बचें, जैसा कि आपने नोट किया था।

3

यदि चयनकर्ता समान हैं, तो अंतिम लोड की प्राथमिकता होती है, जैसे कि आपने उसी स्टाइलशीट में एक ही कक्षा को दो बार घोषित किया है।

3

आप एक से अधिक सीएसएस फ़ाइल में एक चयनकर्ता के लिए शैली को परिभाषित किया है, तो अंतिम लोड सीएसएस फ़ाइल से शैली ले जाया जाएगा

2

हां - सुराग नाम 'व्यापक' स्टाइलशीट पर है। तो एक इनलाइन शैली सिर में परिभाषित एक शैली को ओवरराइट कर देगी और सिर में एक शैली स्टाइल शीट में एक शैली को ओवरराइट कर देगी। आखिरी स्टाइल शीट लोड पिछले लोड में शैलियों को ओवरराइट कर सकता है। यदि आप फ़ायरबग या क्रोम में इंस्पेक्टर जैसे कुछ का उपयोग करते हैं तो यह आपको दिखाएगा कि प्रत्येक शैली कहां से आ गई है या यह किस पर है।

2

सरल उत्तर हाँ है। पेजों के आगे पहले घोषित कक्षाओं को ओवरराइट करने वाले पृष्ठों को फिर से घोषित किए गए किसी भी शैलियों को पृष्ठ लोड में ओवरराइट किया जाएगा।

कक्षा के दूसरे घोषणा को काम करने के लिए विरासत में होना चाहिए।

शैलियों विरासत के दौरान .content {} और .body .content {} जैसी कक्षाएं अलग-अलग व्यवहार कर सकती हैं।

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