2014-05-01 2 views
5

मैं स्टाइलिश के साथ वेबसाइट की पृष्ठभूमि को ओवरराइड करने की कोशिश कर रहा हूं लेकिन यह काम नहीं कर रहा है। वेबसाइट के लिए पृष्ठभूमि सीएसएस में भी एक महत्वपूर्ण है, और यह स्टाइलिश ओवरराइड कर रहा है।सीएसएस पृष्ठभूमि को ओवरराइड कैसे करें जो पहले से ही है! महत्वपूर्ण?

मेरे कोड:

body { 
    background-image: none !important; 
    background: black !important; 
} 

किसी भी मदद की?

+1

है मैं के बारे में स्टाइलिश में कुछ भी पता नहीं है, लेकिन एक अनुमान के रूप में, सीएसएस पिछले नियम यह पाता है पर काम करता है। तो स्टाइलिश सीएसएस के समान तरीके से जोड़ा गया है? यदि हां, तो आखिरी चीज स्टाइलिश बनाएं जो लोड हो जाती है, या कम से कम आपके सीएसएस के बाद। – mmeasor

+0

स्टाइलिश आम तौर पर पहले अपने सीएसएस को सम्मिलित करता है - जो कई स्थितियों में उपयोगी है, लेकिन यह नहीं। –

उत्तर

3

आप अधिक विशिष्ट होना करने के लिए, उदाहरण के लिए, > चयनकर्ता का उपयोग करके की आवश्यकता होगी (quick guide to CSS specificity):

body { 
    background-image: none !important; 
    background: black !important; 
} 

html > body { 
    background-image: none !important; 
    background: red !important; 
} 

JSBin

+2

या 'html> body' – sbeliv01

+0

@ sbeliv01 धन्यवाद! उस बारे में भूल गए। – SomeKittens

+1

यदि आप एक उपयुक्त अधिक विशिष्ट चयनकर्ता नहीं पा रहे हैं, तो आपको Greasemonkey/Tampermonkey स्क्रिप्ट का उपयोग करने की आवश्यकता होगी। –

0

सबसे पहले, मैं आपको सलाह नहीं देता हूं! अक्सर महत्वपूर्ण, इसे टालने का प्रयास करें।

आईएफएफ आप एक तत्व आप और अधिक अच्छी तरह से तो यह है कि ओवरराइड करता है इस तत्व को सीएसएस पथ को परिभाषित कर सकते है। उदाहरण के लिए:

.elem { 
    color: black!important; 
} 

#list1 > .elem { 
    color: red!important; 
} 
+3

आपने सवाल नहीं पढ़ा - वह पृष्ठ नहीं लिख रहा है, किसी और ने किया है। वह पृष्ठ को संशोधित करने के लिए एक एक्सटेंशन का उपयोग कर रहा है। – SomeKittens

+0

वह अभी भी सामान को संपादित कर सकता है अगर वह उस FTP सर्वर से कनेक्ट हो सकता है जिसे मैं शायद सोच सकता हूं कि वह कर सकता है। दूसरा उदाहरण अभी भी काम करेगा, भले ही वह अपने सीएसएस को "स्टाइलिश" चाहता है जैसे कस्टम तरीके से सम्मिलित करता हो। "आप इस तत्व के लिए सीएसएस पथ को और अधिक अच्छी तरह से परिभाषित कर सकते हैं, इसलिए यह ओवरराइड करता है कि" प्रश्न का उत्तर नहीं है ??? – Bluedayz

+0

ओपी के सर्वर पर शून्य नियंत्रण है; वह निश्चित रूप से एफ़टीपी से कनेक्ट नहीं कर सकता! (यह लगभग हर स्टाइलिश या उपयोगकर्तास्क्रिप्ट परिदृश्य के बारे में सच है।) यह उत्तर ज्यादातर इस प्रश्न के लिए गलत है (और दूसरा उत्तर सही भागों को बेहतर बताता है)। स्टाइलिश भी एक ऐसा मामला है जहां 'महत्वपूर्ण' न केवल ठीक है, अक्सर यह आवश्यक होता है। ('! महत्वपूर्ण' वेब डिज़ाइनर के लिए खराब अभ्यास है, लेकिन उपयोगकर्ताओं के लिए नहीं।) –

0

कैसे विशिष्टता काम करता है is here की आधिकारिक दस्तावेज । एक उच्च संख्या आधार विशिष्टता में बस (100 * ID rules) + (10 * class rules) + (1 * tag rules) है।

यदि आप एक बहुत ही अप्रिय वेबसाइट में भाग रहे हैं या बहुत व्यापक नियम का उपयोग करना चाहते हैं तो आप कृत्रिम रूप से विशिष्टता बढ़ाने के लिए :not(#some_id_which_you_will_never_find) का उपयोग कर सकते हैं। आईडी नियमों का उच्चतम मूल्य होता है ताकि आपको उनका उपयोग करना चाहिए।

उदाहरण के लिए मैं यह सुनिश्चित करना है कि एक वेबसाइट में हर div visibility: hidden के रूप में चिह्नित नहीं किया गया था चाहता था और इस प्रयोग किया है:

div:not(#oStHDi_0):not(#oStHDi_1):not(#oStHDi_2):not(#oStHDi_3):not(#oStHDi_4):not(#oStHDi_5) { 
    visibility: inherit !important; 
} 

यह 601.

की एक विशिष्टता है आपके मामले में body विशिष्टता 001 है , html > body 002 है और body:not(#foobar) 101.

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