2012-06-20 8 views
13

मैं कुछ पृष्ठभूमि छवियों (one.jpg, two.jpg, three.jpg) के साथ एक फ़ोल्डर है, और इस मार्कअप हैसीएसएस में पृष्ठभूमि-छवि सेट करने के लिए मैं डेटा विशेषता का उपयोग कैसे कर सकता हूं?

<section class="slide" data-bg="one"></section> 
<section class="slide" data-bg="two"></section> 
<section class="slide" data-bg="three"></section> 

यह सिर्फ सीएसएस इस तरह कुछ करने के लिए के साथ किसी भी तरह संभव है ?

.slide{ 
    background-image: url(img/attr(data-bg).jpg); 
} 

यह कोड निश्चित रूप से काम नहीं कर रहा है।

+0

शुद्ध सीएसएस के साथ नहीं है, लेकिन जावास्क्रिप्ट के साथ: यहाँ है कि मैं क्या समाधान के रूप में उपयोग कर रहा हूँ के मामले में यह किसी और में मदद करता है, और यह w/jQuery जावास्क्रिप्ट का उपयोग करता है,? – oezi

+0

मेरा लक्ष्य सीएसएस –

+5

के साथ प्राप्त करना था, आपको * एटीआर() 'के CSS3-वर्धित संस्करण के साथ ऐसा करने में सक्षम होना चाहिए (http://www.w3.org/TR/css3 -वृत्त/# एटीआर) (सिवाय इसके कि आपको तारों को उद्धृत करने की आवश्यकता है), लेकिन कोई ज्ञात कार्यान्वयन नहीं है। ओजीई के सुझाव के रूप में आपका एकमात्र तरीका उन्हें हार्डकोड करना है। – BoltClock

उत्तर

11

यह शुद्ध सीएसएस के साथ संभव जब तक आप इसे "undynamic" जिस तरह से कर रहे हैं नहीं होगा:

.slide[data-bg="one"]{ 
    background-image: url('img/one.jpg'); 
} 
.slide[data-bg="two"]{ 
    background-image: url('img/two.jpg'); 
} 
... 

शायद तुम गतिशील सर्वर साइड पर अपने फ़ाइल नाम से है कि स्टाइलशीट बना सकते हैं।

जावास्क्रिप्ट के साथ ऐसा करने के लिए एक और (संभवतः आसान) संभावना है - लेकिन चूंकि आपने यह स्वीकार किया है कि मुझे लगता है कि आप इसके बारे में जानते हैं और बस इसका उपयोग नहीं करना चाहते हैं।

+1

बेकार :(धन्यवाद। मैं SASS का उपयोग कर सकता हूं, लेकिन मेरा पसंदीदा समाधान नहीं। –

0

मुझे पता है कि मूल प्रश्न केवल सीएसएस के साथ ऐसा करने पर जोर दिया गया है, लेकिन मुझे यह सवाल उठ गया क्योंकि एक और सवाल (जो कि सीएसएस समाधान के लिए जरूरी नहीं था) को इसका डुप्लिकेट के रूप में चिह्नित किया गया था। - यह आपके लिए एक विकल्प है

$('.slide').each(function (index) { 
    var slide = $(this); 
    slide.css('background-image', 'url(' + slide.data('bg') + ')'); 
}); 
संबंधित मुद्दे

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