2014-06-26 14 views
6

मैं अपने तत्वों में 2 चीजें प्रदर्शित करने की कोशिश कर रहा हूं; class नाम और स्वयं बनाया data-size चर। एक सफेद अंतरिक्ष से अलग।एकाधिक सामग्री: attr() मान

मैं ऐसा करने से यह काम कर रहे हो सकता है:

.element:before { 
    content: attr(class); 
} 

.element:after { 
    content: attr(data-size); 
} 

लेकिन यह यह करने के लिए एक सही तरीके से की तरह लग नहीं करता है। मैंने यह करने की भी कोशिश की है:

.element:before { 
    content: attr(class data-size); 
} 

लेकिन यह भी काम नहीं करता था।

इनपुट

एचटीएमएल

<div class="element" data-size="20"></div> 

सीएसएस

.element:before { 
    content: attr(class data-size); 
} 

वांटेड उत्पादन

,210

तत्व 20

Demo here

+0

'attr (class)" "attr (डेटा-आकार) ' –

उत्तर

7

सीएसएस में दो या अधिक स्ट्रिंग मूल्यों, separate them with whitespace श्रेणीबद्ध करने के लिए:

.element:before { 
    content: attr(class) ' ' attr(data-size); 
} 

ध्यान दें कि attr() कार्य करता है और उद्धरण के बीच खाली स्थान के रूप में एक ही नहीं है व्हाइटस्पेस उद्धरण के भीतर। उत्तरार्द्ध एक वास्तविक स्ट्रिंग है जिसमें एक स्पेस कैरेक्टर होता है, जो आउटपुट में दो विशेषता मानों को अलग करेगा। तीन हिस्सों के बीच सफेद जगह ऑपरेटर है जो उन्हें एक साथ जोड़ती है।

+0

आज़माएं, धन्यवाद, जब मैं कर सकता हूं तो अपना उत्तर स्वीकार कर रहा हूं। क्या मैं इसे जितनी बार चाहूं उतनी बार कर सकता हूं और क्या मैं अन्य चीजों को यहां भी रख सकता हूं? – Bas

+0

@ बास: हाँ, आप इसे जितना चाहें उतने तारों के साथ कर सकते हैं। जब तक आप इसे उद्धरण में डालते हैं, तब तक आप किसी भी अन्य स्ट्रिंग को भी रख सकते हैं, उदाहरण के लिए 'सामग्री: attr (data-foo)' abc '; ' – BoltClock

+0

आह ठीक है, पता नहीं था। क्या एक नई लाइन भी डालना संभव है? – Bas

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