2010-03-31 21 views
273

मेरे पास एक स्टाइल नियम है जिसे मैं दो शैलियों पर टैग पर लागू करना चाहता हूं। जावास्क्रिप्ट के बिना इसे करने का कोई तरीका है? दूसरे शब्दों में:एकाधिक कक्षाओं के आधार पर तत्व का चयन करें

<li class='left ui-class-selector'> 

मैं अपने शैली नियम केवल अगर li लागू किया दोनों .left और .ui-class-selector वर्ग हैं लागू करना चाहते हैं।

उत्तर

471

आपका मतलब दो वर्ग है? "चेन" चयनकर्ताओं (कोई उन दोनों के बीच रिक्त स्थान):

.class1.class2 { 
    /* style here */ 
} 

यह भी class2 है class1 साथ सभी तत्वों का चयन करता है।

आपके मामले में:

li.left.ui-class-selector { 

} 

आधिकारिक प्रलेखन: CSS2 class selectors


आप इस पढ़ने के लिए चाहते हो सकता है अंक इंटरनेट में इस विधि एक्सप्लोरर 6 के साथ एक समस्या बाहर akamike के रूप में: Use double classes in IE6 CSS?

+6

कृपया ध्यान दें कि IE6 इन पसंद नहीं करता है, के रूप में यह वर्गों की श्रृंखला नहीं पढ़ता। यह केवल श्रृंखला में अंतिम कक्षा को देखेगा। – akamike

+10

यह नहीं है :) सभी प्रमुख वेबसाइटें गिरा दी गई हैं, आईई 6 के लिए निकट भविष्य में समर्थन छोड़ने या छोड़ने की योजना बना रही हैं .. वही करो! –

+0

@ एंड्रियास बोनिनी: हाँ मुझे पता है। ईमानदार होने के लिए मुझे लंबे समय से आईई 6 की परवाह नहीं है। (मैंने अपनी पिछली टिप्पणी हटा दी क्योंकि मुझे यह समस्या है जो इस समस्या से संबंधित है।) –

18

चेन चयनकर्ताओं केवल कक्षाओं तक सीमित नहीं हैं, तो आप दोनों वर्गों के लिए यह कर सकते हैं और आईडी।

क्लासेस

.classA.classB { 
/*style here*/ 
} 

कक्षा & ईद

.classA#idB { 
/*style here*/ 
} 

ईद & ईद

#idA#idB { 
/*style here*/ 
} 

सभी अच्छे वर्तमान ब्राउज़र आईई 6 को छोड़कर इसका समर्थन करते हैं, यह सूची में अंतिम चयनकर्ता के आधार पर चयन करता है। तो ".classA.classB" सिर्फ ".classB" के आधार पर चयन करेगा।

अपने मामले के लिए

li.left.ui-class-selector { 
/*style here*/ 
} 

या

.left.ui-class-selector { 
/*style here*/ 
} 
संबंधित मुद्दे