2011-08-01 15 views
5

मैं थोड़ी देर के लिए निम्न तकनीक पर भरोसा कर रहा हूं। लेकिन मैं अक्सर इस पर नहीं आया हूं, और मैं इस पर जानकारी नहीं ढूंढ पा रहा था। शायद यह एक उचित नाम है कि मुझे पता नहीं है? मैं इसे चेनिंग कहता हूं क्योंकि ऐसा लगता है कि: सीएसएस क्लास नामों को एक साथ जोड़ना। लेकिन अधिकांश भाग के लिए jQuery पर उपज की जानकारी प्राप्त करने पर एक खोज कर रही है।सीएसएस कक्षाओं को इस तरह से वैध बना रहा है?

.button { 
    background-color:#ccc; 
} 
/* This is what I'm unsure of, notice there is no space between .button and .on */ 
/* If there were, .on apply to the child of .button, but that's not my intention */ 
.button.on { 
    background-color:#fff; 
} 

यह मुझे कई तत्वों के राज्यों के बीच अंतर करने के लिए एक एकल वर्ग नाम (ऑन) का उपयोग करने की अनुमति देता है।

<a class="button"></a> 
<a class="button on"></a> 
<a class="button-two"></a> 
<a class="button-two on"></a> 
<!-- etc... --> 

यह जब आप एक ही वर्ग के नाम का उपयोग कर कई तत्वों पर एक on वर्ग को चालू करने की जरूरत है गतिशील पृष्ठों के साथ बहुत आसान है।

लेकिन क्या यह मान्य है?

उत्तर

7

यह पूरी तरह से वैध सीएसएस है .... हालांकि आईई 6/और आई 7 में क्लास-चेनिंग के साथ कुछ समस्याएं हैं।

6

हां, यह वैध सीएसएस है, हालांकि यह आईई 6 में काफी सही काम नहीं करता है - यह केवल उन सभी के बजाय अंतिम श्रेणी लागू करेगा। आप विषय पर read more over at CSS-Tricks.com कर सकते हैं।

+0

+1। – JonH

3

यह पूरी तरह से मान्य और बहुत आम है।

आप यह बहुत ही पेज में देख सकते हैं:

a.comment-user.owner { 
    padding: 2px 5px; 
} 

हालांकि, IE6 अंतिम को छोड़कर सभी वर्ग पर ध्यान नहीं देगा।
आईई 6 में, .a.b.b के बराबर है। अच्छे लिंक के लिए

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