मैं एक ऐसे तत्व का चयन कैसे करता हूं जिसमें एक निश्चित वर्ग है?


81

मेरी समझ यह है कि element.classकक्षा के बाकी हिस्सों की तुलना में अलग-अलग "स्टाइलिंग" प्राप्त करने के लिए एक विशिष्ट वर्ग को निर्दिष्ट करने के लिए उपयोग करना चाहिए। यह इस बारे में कोई सवाल नहीं है कि इसका उपयोग किया जाना चाहिए या नहीं, बल्कि मैं यह समझने की कोशिश कर रहा हूं कि यह चयनकर्ता कैसे काम करने का इरादा रखता है। इंटरनेट पर एक टन के उदाहरणों को देखने से, मेरा मानना ​​है कि वाक्यविन्यास सही है और समझ में नहीं आता कि यह काम क्यों नहीं कर रहा है।

यहाँ एक उदाहरण है:

सीएसएस:

h2 {
    color: red;
}

.myClass {
    color: green;
}

h2.myClass {
    color: blue;
}

HTML:

<h2>This header should be RED to match the h2 element selector</h2>
<div class="myClass">
    <h1>This header should be GREEN to match the class selector</h1>
    <h2>This header should be BLUE to match the element.class selector</h2>
</div>

4
प्रश्न शीर्षक को अपडेट करने के लायक हो सकता है कि आप वास्तव में पूछ रहे हैं कि तत्व कैसे चुनें। चयनकर्ता काम करते हैं, इसलिए नहीं कि वे उस तरह से काम नहीं करते हैं जिस तरह से आप उम्मीद कर रहे हैं।
गेब्रियल

जवाबों:


105

यह इस प्रकार होना चाहिए:

h2.myClassवर्ग के साथ h2 की तलाश करता है myClass। लेकिन आप वास्तव में h2 के लिए शैली लागू करना चाहते हैं .myClassताकि आप वंशज चयनकर्ता का उपयोग कर सकें .myClass h2

h2 {
    color: red;
}

.myClass {
    color: green;
}

.myClass h2 {
    color: blue;
}

डेमो

यह रेफ आपको चयनकर्ताओं के बारे में कुछ बुनियादी विचार देगा और वंशज चयनकर्ताओं पर एक नज़र डालेगा


स्पष्ट होने के लिए मैं यह समझने की कोशिश कर रहा हूं कि एलिमेंट कैसे काम करता है। मैं विशेष रूप से तत्व के रंग का उपयोग करने की कोशिश कर रहा हूं। तत्व के रंग को ओवरराइड करने के लिए तत्व (h2 जो कि मायक्लास में है) को हरे रंग के वर्ग रंग के विपरीत नीले रंग के लिए प्रयोग किया जाता है। मैं जानना चाहता हूं कि किसी वर्ग के अंतर्गत किसी विशिष्ट तत्व को कैसे लक्षित किया जाए।
कैरोलिन

@ कैरोलिन अगर आप ऐसा चाहते हैं तो आपको h2 पर myClass का उपयोग करने की आवश्यकता है। इस तरह jsfiddle.net/wDmwE । कारण h2 पर सीएसएस नियम कंटेनर पर वर्ग .myClass को ओवरराइड करेगा।
PSL

1
बहुत बढ़िया! हां, आपके जवाब से मदद मिली। मुझे लगता है कि मेरी समस्या विशिष्टता के साथ थी (मैं बस उस बारे में सीख रहा हूं)। एक बार फिर धन्यवाद!। बहुत सराहना की।
कैरोलिन

1
आखिरकार। मैं लंबे समय से इस समाधान की तलाश में था। मैं elementWithAClass.Class {} के बारे में जानता था, लेकिन इसके बारे में नहीं। .assassInsideThisClass {}। धन्यवाद। मैं तुम्हें एक बियर देना: डी
kv1dr

58

h2.myClassके h2साथ सभी को संदर्भित करता है class="myClass"

.myClass h2उन सभी को संदर्भित करता है h2जिनके साथ (यानी नेस्टेड इन) तत्वों के बच्चे हैं class="myClass"

यदि आप चाहते हैं कि h2आपका HTML नीला दिखाई दे, तो CSS को निम्न में बदलें:

.myClass h2 {
    color: blue;
}

यदि आप यह देखना चाहते हैं कि h2इसके टैग के बजाय एक वर्ग द्वारा, आपको सीएसएस को छोड़ देना चाहिए जैसा कि यह है और h2HTML में एक वर्ग देना चाहिए :

<h2 class="myClass">This header should be BLUE to match the element.class selector</h2>

धन्यवाद - मैं वास्तव में यह समझने की कोशिश कर रहा हूं कि एलिमेंट का उपयोग कैसे करें। चयनकर्ता। मैं "myClass" के तहत सभी h2 तत्वों को चाहता हूं
कैरोलिन

@ कैरोलिन, क्या मेरा अद्यतन उत्तर मदद करता है? यदि नहीं, तो आप जो पूछ रहे हैं उस पर मैं स्पष्ट नहीं हूं।
ASGM

हाँ धन्यवाद!! मैं अब भी विशिष्टता के चारों ओर अपना सिर लपेटने की कोशिश कर रहा हूं।
कैरोलिन

@ कैरोलिन विशेष रूप से कुछ है जिससे आप परेशान हैं?
ASGM

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

12

इस तरह के रूप में स्टाइल स्थितियों के लिए element.class चयनकर्ता है:

<span class="large"> </span>
<p class="large"> </p>

.large {
    font-size:150%; font-weight:bold;
}

p.large {
    color:blue;
}

आपके स्पान और पी दोनों को .large से फ़ॉन्ट-आकार और फ़ॉन्ट-वज़न सौंपा जाएगा, लेकिन रंग नीला केवल p को सौंपा जाएगा।

जैसा कि अन्य लोगों ने बताया है कि आप जिस चीज के साथ काम कर रहे हैं वह वंशज चयनकर्ता हैं।


धन्यवाद। बहुत ज्यादा। हर कोई बहुत मददगार रहा है।
कैरोलिन

2

h2.myClassकेवल उन h2तत्वों के लिए मान्य है जिन्हें कक्षा myClassसीधे सौंपी गई थी।

आप इसे इस तरह नोट करना चाहते हैं:

.myClass h2

जो उन सभी बच्चों का चयन करता है myClassजिनके पास टैग्नैम हैh2


1

CSS :first-childचयनकर्ता आपको एक ऐसे तत्व को लक्षित करने की अनुमति देता है जो अपने माता-पिता के भीतर पहला बाल तत्व है।

element:first-child { style_properties }
table:first-child { style_properties }
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.