2012-03-23 48 views
13

पर एकाधिक पृष्ठभूमि में से केवल एक को बदलें शीर्षक मूल रूप से यह सब कहता है।होवर


यहाँ एक उदाहरण है:

#element { 
    background: url(image.png) no-repeat center center, 
       linear-gradient(to top, #86a53c, #516520); 
} 

#element:hover { 
    background: url(image.png) no-repeat center center, 
       linear-gradient(to top, #A0C153, #516520); 
} 

#element:active { 
    background: url(image.png) no-repeat center center, 
       linear-gradient(to top, #516520, #A0C153); 
} 

आप देख सकते हैं, पृष्ठभूमि छवियों परिवर्तन का केवल एक - एक दूसरे को हर राज्य में ही रहता है, लेकिन अभी भी चार घोषित किया जा रहा है बार!

तो, क्या पृष्ठभूमि में से केवल एक को बदलना संभव है, लेकिन दूसरे को छोड़ दें - इसे फिर से घोषित किए बिना?

मुझे पता है कि अन्य सीएसएस पृष्ठभूमि गुण (दोहराना, स्थिति इत्यादि) अलग से सेट किया जा सकता है। यह सिर्फ एक त्वरित उदाहरण है ...

+2

मैं एक निराशाजनक जवाब महसूस कर रही हो जाएगा ... –

+0

अच्छा सवाल है, लेकिन शायद नहीं –

+0

है @ वेस्लेमर्च - अब और नहीं है। मेरा जवाब देखें –

उत्तर

1

यह अब सीएसएस चर के साथ संभव है:

#element { 
    --gradient: linear-gradient(to top, #86a53c, #516520); 

    background: url(image.png) no-repeat center center, 
       var(--gradient); 
} 

#element:hover { 
    --gradient: linear-gradient(to top, #A0C153, #516520); 
} 

इसे यहाँ देखें कार्रवाई में: https://jsfiddle.net/22zu6oaq/

+0

हां, और इसके बारे में सबसे अच्छी बात यह है कि यह पहले उठाए गए चिंताओं के सामने सही हो जाता है: "यह सिंटैक्स और कैस्केड के संदर्भ में कैसे खेलेंगे"। [यहां है] (http://stackoverflow.com/questions/40010597/how-do-i-apply-opacity-to-a-css-color-variable/41265350#41265350) एक भी पागल उदाहरण। – BoltClock

5

नहीं, अभी तक कोई नहीं कर सकता, क्षमा करें। यह एक ऐसा जोड़ जैसा लगता है जिसे आप प्रस्तावित कर सकते हैं, हालांकि मुझे यकीन नहीं है कि यह वाक्यविन्यास और कैस्केड के संदर्भ में कैसे खेलेंगे।

+0

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

+0

निराशाजनक। वाक्यविन्यास के लिए: एक सरणी जैसी संख्या का उपयोग क्यों नहीं करें? उदाहरण के लिए 'पृष्ठभूमि-छवि -1', 'पृष्ठभूमि-छवि -2' आदि। यह 'बॉक्स-छाया', या किसी भी अन्य सीएसएस संपत्ति के लिए भी उपयोगी होगा जो कई मान लेता है। कैस्केड के लिए: मुझे कोई समस्या नहीं दिखती है। यह [आईई की 'पृष्ठभूमि-स्थिति-एक्स' और' पृष्ठभूमि-स्थिति-वाई'] से भिन्न क्यों होना चाहिए (http://snook.ca/archives/html_and_css/background-position-x-y)? –

+1

मुझे खुशी होगी अगर 'पृष्ठभूमि-स्थिति:, 0 -20 पीएक्स,' जैसे सिंटैक्स थे, जिसमें चार के बीच तीसरी पृष्ठभूमि की स्थिति को संशोधित किया गया था। – Pioul