दिलचस्प पोस्ट
Jquery का उपयोग करके यादृच्छिक divs दिखाना मैं एक iPhone ऐप से सफारी कैसे लॉन्च कर सकता हूं? बिग-ओ और लिटिल-ओ नोटेशन के बीच अंतर बेस 62 रूपांतरण मैं इस संदर्भ को एक समारोह में कैसे पारित करूं? यूनिकोड वर्ण यूआरएल सांकेतिक शब्दों में बदलना सही तरीका क्या है? सार फैक्ट्री पैटर्न और फैक्टरी विधि के बीच अंतर किसी वैरिएबल के मूल्य को दूसरे में कॉपी करें एक निश्चित समय के बाद एक धागा रोकना सीएसएस बल छवि का आकार बदलना और पहलू अनुपात रखना क्या आप स्ट्रिंग चर का उपयोग करके मक्खी पर जावास्क्रिप्ट रेगेक्सस बना सकते हैं? .htaccess के साथ .php एक्सटेंशन निकालें वीबीए में उप-डीडी की सूची प्राप्त करें सामान्य प्रकार और वाइल्डकार्ड प्रकार के बीच का अंतर मेटा टैग के साथ ताज़ा करने पर इनपुट मान को याद करने से फ़ायरफ़ॉक्स को रोकना

मूल तत्वों को विरासत में लाने से बाल तत्व को रोकने के लिए CSS

संभव डुप्लिकेट:
मैं सीएसएस विरासत को कैसे रोकूं?

क्या किसी तत्व की सीएसएस प्रॉपर्टी को घोषित करने का कोई तरीका है कि इससे किसी भी बच्चे को प्रभावित नहीं किया जा सकता है या क्या किसी तत्व के सीएसएस को घोषित करने का एक तरीका है, जो कि केवल निर्दिष्ट शैली को लागू किया गया है और अपने माता-पिता के लिए घोषित शैली में से कोई भी वारिस नहीं है ?

एक त्वरित उदाहरण

HTML:

<body> <div id='container'> <form> <div class='sub'> Content of the paragraph <div class='content'>Content of the span</div> </div> </form> </div> </body> 

सीएसएस:

 form div { font-size: 12px; font-weight: bold; } div.content { /* Can anything go here? */ } 

सामान्य परिस्थितियों में एक उम्मीद करता है कि पाठ ब्लॉक "पैराग्राफ की सामग्री" और "अवधि की सामग्री" दोनों 12px और बोल्ड हो जाएगी।

"Div.content" ब्लॉक में ऊपर सीएसएस में शामिल करने के लिए कोई संपत्ति है जो इसे "# कंटेनर फॉर्म डिवी" ब्लॉक में घोषित करने के लिए शैली को सीमित करने के लिए "पैराग्राफ की सामग्री" और अतिरिक्त " अवधि की सामग्री "किसी भी अन्य बच्चों div सहित?

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

वेब के समाधान से एकत्रित समाधान "मूल तत्वों को विरासत में लाने से बाल तत्व को रोकने के लिए CSS"

दुर्भाग्य से, आप यहां भाग्य से बाहर हैं।

माता-पिता से अपने बच्चों के लिए एक निश्चित मूल्य की प्रतिलिपि करने के लिए inherit होता है, लेकिन कोई अन्य संपत्ति नहीं है (जो किसी अन्य चयनकर्ता को यह तय करने के लिए शामिल करता है कि किस शैली को वापस करना है)।

आपको मैन्युअल रूप से शैली परिवर्तन वापस करना होगा:

 div { color: green; } form div { color: red; } form div div.content { color: green; } 

यदि आपके पास मार्कअप तक पहुंच है, तो आप कई वर्गों को शैली में ठीक से जोड़ सकते हैं जो आपको चाहिए:

 form div.sub { color: red; } form div div.content { /* remains green */ } 

संपादित करें: सीएसएस कार्य समूह कुछ पर निर्भर है :

 div.content { all: revert; } 

कोई विचार नहीं, कब या कभी यह ब्राउज़र द्वारा लागू किया जाएगा

2 संपादित करें: मार्च 2015 तक सभी आधुनिक ब्राउज़र्स लेकिन सफ़ारी और आईई / एज ने इसे लागू किया है: https://twitter.com/LeaVerou/status/577390241763467264 (धन्यवाद, @ लीआ वेरॉ !)

3 संपादित करें: default का नाम बदलकर revert किया गया था

क्या आप खुद को स्वयं नहीं बना सकते हैं? उसके बाद, तदनुसार डिवीज़ की शैली।

 form { /* styles */ } 

आप इसे महत्वपूर्ण बनाकर हमेशा विरासत में मिली शैलियों को उल्टा कर सकते हैं:

 form { /* styles */ !important } 

सीएसएस नियम डिफ़ॉल्ट रूप से विरासत में मिला है – इसलिए "कैस्केडिंग" नाम। आप जो चाहें प्राप्त करने के लिए उपयोग करने की आवश्यकता है! महत्वपूर्ण:

 form div { font-size: 12px; font-weight: bold; } div.content { // any rule you want here, followed by !important }