दिलचस्प पोस्ट
एसवीजी और एचटीएमएल 5 कैनवास के बीच अंतर क्या है? स्पिनलाक बनाम सेमाफोर EF4.3 में कोड प्रथम दृष्टिकोण में कॉलम के लिए दशमलव (16, 3) निर्धारित करें ट्रिपल वारसा मेटाक्लास संघर्ष का कारण बनता है … कभी-कभी रिक्त स्थान के साथ वाम-पैड printf क्या मैं व्युत्पन्न प्रकारों के साथ ओवरराइड कर सकता हूं? प्रवेश टोकन का समय समाप्त क्यों होता है? एक सूची में एक तत्व की घटनाओं की संख्या की गणना कैसे करें models.py विशाल हो रही है, इसे तोड़ने का सबसे अच्छा तरीका क्या है? जावा का उपयोग करते हुए मैं अपने ओएसआईएस के बीटास को कैसे देख सकता हूं ?? (जेएसएसई, ओएसचर्च नहीं) "दिनांक (): सिस्टम के समयक्षेत्र सेटिंग पर भरोसा करना सुरक्षित नहीं है …" एंड्रॉइड 5.0 (लॉलीपॉप) में इनकमिंग कॉम को प्रोग्रामैटिक रूप से कैसे उत्तर दिया जा सकता है? आर gotcha: संयोजन के संयोजन के लिए तार्किक और ऑपरेटर & नहीं है && एक उपयोगकर्ता और SQL सर्वर में एक लॉगिन के बीच का अंतर SQL सर्वर: सभी अपर केस को उचित केस / शीर्षक केस में बनायें

सीएसएस पृष्ठभूमि-छवि url सेट करने के लिए HTML डेटा-विशेषता का उपयोग करना

मैं एक मित्र के लिए कस्टम फोटो गैलरी बनाने की योजना बना रहा हूं और मुझे पता है कि मैं HTML का उत्पादन कैसे करूँगा, हालांकि मैं सीएसएस के साथ एक छोटी सी समस्या में चल रहा हूं।
(यदि संभव हो तो मैं पृष्ठ स्टाइल को jQuery पर निर्भर नहीं करना चाहता)


मेरा सवाल है:
HTML में Data-Attribute
सीएसएस में Background-image


मैं अपने एचटीएमएल थंबनेल के लिए इस प्रारूप का प्रयोग कर रहा हूं:
<div class="thumb" data-image-src="images/img.jpg"></div>

और मुझे लगता है कि सीएसएस कुछ इस तरह दिखना चाहिए:

 .thumb { width:150px; height:150px; background-position:center center; overflow:hidden; border:1px solid black; background-image: attr(data-image-src);/*This is the question piece*/ } 


मेरा लक्ष्य है मेरी एचटीएमएल फाइल में div.thumb से data-image-src div.thumb और इसे मेरे सीएसएस फ़ाइल में प्रत्येक div.thumb ( background-image ) background-image स्रोत के लिए उपयोग करें।

मैं क्या देख रहा हूं इसका एक गतिशील उदाहरण प्राप्त करने के लिए यहां एक कोडपेन पेन है:
http://codepen.io/thestevekelzer/pen/rEDJv

Solutions Collecting From Web of "सीएसएस पृष्ठभूमि-छवि url सेट करने के लिए HTML डेटा-विशेषता का उपयोग करना"

आप अंततः उपयोग करने में सक्षम होंगे

 background-image: attr(data-image-src url); 

लेकिन यह मेरे ज्ञान तक कहीं भी लागू नहीं है उपरोक्त में, url attr() लिए एक वैकल्पिक "टाइप-या-यूनिट" पैरामीटर है https://drafts.csswg.org/css-values/#attr-notation देखें

यह शैली के साथ सामग्री को मिश्रण करने के लिए सबसे अच्छा अभ्यास नहीं है, लेकिन एक समाधान हो सकता है

 <div class="thumb" style="background-image: url('images/img.jpg')"></div> 

इसके लिए आपको थोड़ा जावास्क्रिप्ट की आवश्यकता होगी:

 var list = document.getElementsByClassName('thumb'); for (var i = 0; i < list.length; i++) { var src = list[i].getAttribute('data-image-src'); list[i].style.backgroundImage="url('" + src + "')"; } 

उस रैप को </body> टैग से पहले नीचे <script> टैग में या उस फ़ंक्शन में रैप करें जिसे आप पृष्ठ लोड होने पर कॉल करते हैं।

एचटीएमएल

 <div class="thumb" data-image-src="img/image.png"> 

jQuery

 $( ".thumb" ).each(function() { var attr = $(this).attr('data-image-src'); if (typeof attr !== typeof undefined && attr !== false) { $(this).css('background', 'url('+attr+')'); } }); 

JSFiddle पर डेमो

आप यह जावास्क्रिप्ट के साथ भी कर सकते हैं

कैसे कुछ Sass का उपयोग कर के बारे में? यहां मैंने ऐसा कुछ हासिल करने के लिए किया है (हालांकि ध्यान दें कि आपको प्रत्येक डेटा-विशेषताओं के लिए एक सास सूची बनाना होगा)।

 /* Iterate over list and use "data-social" to put in the appropriate background-image. */ $social: "fb", "twitter", "youtube"; @each $i in $social { [data-social="#{$i}"] { background: url('#{$image-path}/icons/#{$i}.svg') no-repeat 0 0; background-size: cover; // Only seems to work if placed below background property } } 

मूलतः, आप अपने सभी डेटा विशेषता मूल्यों की सूची फिर Sass @each का उपयोग करके फिर से दोहराएं और HTML में सभी डेटा-विशेषताओं का चयन करें। उसके बाद, आईटरेटर परिवर्तक को लाएं और इसे फ़ाइल नाम के साथ मेल करें।

वैसे भी, जैसा कि मैंने कहा था, आपको सभी मानों की सूची में रखना होगा, फिर सुनिश्चित करें कि आपकी फ़ाइल नाम आपकी सूची में मान शामिल करें।