मैं कैसे सीएसएस संपत्ति nullify कर सकते हैं?


109

मूल रूप से मेरे पृष्ठ में दो बाहरी सीएसएस हैं।

पहले Main.cssमें सभी शैली नियम हैं, लेकिन मेरे पास इसकी पहुंच नहीं है, और इसलिए मैं इसे संशोधित नहीं कर सकता। मेरे पास एक दूसरी फ़ाइल तक पहुंच है Template.css, इसलिए मुझे अंदर के Main.cssमूल्यों को ओवरराइड करने की आवश्यकता है template.css

यह आसान है जिसके लिए मुझे मूल्य बदलना होगा, लेकिन मैं पूरी तरह से एक संपत्ति कैसे निकालूं?

जैसे कहते हैं कि एक वर्ग के .c1पास है height: 40px;, मैं इस ऊंचाई की संपत्ति से कैसे छुटकारा पाऊं?


जवाबों:


175

आपको प्रत्येक व्यक्तिगत संपत्ति को उसके डिफ़ॉल्ट मान पर रीसेट करना होगा। यह बहुत अच्छा नहीं है, लेकिन यह एकमात्र तरीका है, जो जानकारी आपने हमें दी है।

अपने उदाहरण में, आप करेंगे:

.c1 {
    height: auto;
}

आपको यहां प्रत्येक संपत्ति की खोज करनी चाहिए:

https://developer.mozilla.org/en-US/docs/Web/CSS/Reference

उदाहरण के लिएheight :

प्रारंभिक मूल्य : auto

एक और उदाहरणmax-height :

प्रारंभिक मूल्य : none


2017 में, अब एक और तरीका है, unsetकीवर्ड:

.c1 {
    height: unset;
}

कुछ प्रलेखन: https://developer.mozilla.org/en-US/docs/Web/CSS/unset

अनसेट सीएसएस कीवर्ड प्रारंभिक और विरासत कीवर्ड का संयोजन है। इन दो अन्य सीएसएस-विस्तृत कीवर्ड की तरह, इसे सीएसएस शॉर्टहैंड सहित किसी भी सीएसएस संपत्ति पर लागू किया जा सकता है। यदि यह अपने माता-पिता से विरासत में मिला है या नहीं तो इसके आरंभिक मूल्य पर यह कीवर्ड संपत्ति को उसके उत्तराधिकारी मूल्य पर रीसेट करता है। दूसरे शब्दों में, यह पहले मामले में इनहेरिट कीवर्ड की तरह व्यवहार करता है और दूसरे मामले में शुरुआती कीवर्ड की तरह।

ब्राउज़र समर्थन अच्छा है: http://caniuse.com/css-unset-value


3
अच्छा जवाब और संदर्भ के लिए +1। मुझे लगता है कि लिंक बदल गया है: developer.mozilla.org/en-US/docs/Web/CSS/Reference
पाओलो

जब कोई प्रारंभिक मूल्य ("प्रारंभिक मूल्य: कोई नहीं") हो, तो ऑटो पर मान सेट करना काम नहीं करता है। उदाहरण के लिए, जब "अधिकतम-चौड़ाई: ऑटो;" मुझे बेमेल संपत्ति मूल्य त्रुटि मिलती है। मुझे क्या करना चाहिए?
user1779563

3
@ user1779563 आपने इसे "कोई नहीं" पर सेट किया।
आंद्रेकेआर

1
मैं उनके उत्तर के लिए @simhumileco को धन्यवाद देना चाहूंगा, जिसे मैंने बेशर्मी से चुरा लिया है क्योंकि मेरा उत्तर स्वीकार कर लिया गया है और लोग नीचे नहीं जा सकते।
तारीख

10
.c1 {
    height: unset;
}

unsetमें जोड़ा मूल्य CSS3 भी इस समस्या का हल और यह और भी सार्वभौमिक से विधि है autoयाinitial क्योंकि यह हर सीएसएस संपत्ति को उसके डिफ़ॉल्ट मान को उसके डिफ़ॉल्ट behawior अपनी मूल के सापेक्ष सेट और इसके अलावा।

ध्यान दें कि initial मूल्य पूर्वोक्त व्यवहार को तोड़ता है।

से MDN :

इन दो अन्य सीएसएस-वाइड कीवर्ड की तरह, इसे सीएसएस शॉर्टहैंड सहित किसी भी सीएसएस संपत्ति पर लागू किया जा सकता है सब । यदि यह अपने माता-पिता से विरासत में मिला है या नहीं तो इसके आरंभिक मूल्य पर यह कीवर्ड संपत्ति को उसके उत्तराधिकारी मूल्य पर रीसेट करता है।


9

जैसे कहना है कि एक वर्ग .c1 की ऊंचाई है: 40px; मैं इस ऊंचाई की संपत्ति से कैसे छुटकारा पाऊं?

अफसोस की बात है, आप नहीं कर सकते। CSS में "डिफ़ॉल्ट" प्लेसहोल्डर नहीं है।

उस स्थिति में, आप संपत्ति का उपयोग करके रीसेट कर देंगे

 height: auto;

जैसा कि @Ben सही तरीके से बताता है, कुछ मामलों में, inheritजाने का सही तरीका है, उदाहरण के लिए, जब किसी aतत्व के टेक्स्ट रंग को रीसेट करते समय (वह संपत्ति मूल तत्व से विरासत में मिली है):

a { color: inherit }

3
मैं उसको +1 दूंगा। "विरासत" मूल्य भी है। ऊंचाई के अलावा कुछ संदर्भों में, विरासत अधिक उपयुक्त है।
बेन

1
@meo तुम सही हो। (संबंधित प्रश्न) जिसका अर्थ है कि ऐसे गुण हैं जो IE में उनके डिफ़ॉल्ट पर रीसेट नहीं किए जा सकते हैं ... क्या अफ़सोस है
Pekka

7

initialCSS3 में एक कीवर्ड जोड़ा जा रहा है ताकि लेखकों को इस प्रारंभिक मूल्य को स्पष्ट रूप से निर्दिष्ट किया जा सके।


FYI करें: height:initial;IE9 में काम करने के लिए प्रकट नहीं होता है।
क्रिस होलेनबेक

इसलिए बीच का अंतर क्या है initialऔर autoऔर unset?।
ExillustX

2

निर्धारित ऊंचाई की संपत्ति से छुटकारा पाने के लिए आप इसे डिफ़ॉल्ट मान पर सेट कर सकते हैं:

height: auto;

2

आपको एक से अधिक विशिष्टता के साथ चयनकर्ता प्रदान करने की आवश्यकता है Main.css। उस चयनकर्ता के साथ, उन संपत्तियों के मूल्यों को सेट करें जिन्हें आप उनके डिफ़ॉल्ट, जैसे

body .c1 {
    height: auto;
}

कोई "डिफ़ॉल्ट" मान नहीं है जो सभी संपत्तियों के लिए काम करेगा, आपको यह देखने की आवश्यकता है कि प्रत्येक के लिए डिफ़ॉल्ट क्या है और इसका उपयोग करें।


1

मेरे पास एक मुद्दा था कि जब भी मैंने "ऊँचाई" को "परेशान" या "प्रारंभिक" को अधिलेखित किया था, तो पिछली सेटिंग को हटाते समय यह अलग तरह से व्यवहार करता था।

यह निकला कि मुझे न्यूनतम ऊंचाई वाली संपत्ति को भी हटाने की जरूरत है!

height: unset;
min-height: none

संपादित करें: मैंने IE 7 पर परीक्षण किया और यह "परेशान" को नहीं पहचानता है, इसलिए "ऑटो" बेहतर काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.