CSS Combinators in Hindi
CSS में combinators के जरिये दो selectors के बिच relationship बनाने में इस्तेमाल किआ जाता है | Selectors के बिच combinator एक सिंबल के जरिये लिखा जाता है |
combinators selectors 4 तरह के होतें हैं
1) descendant selector(space)
2) child selector(>)
3) adjacent sibling selector(+)
4) general sibling selector(~)
1) Descendant Selectors (separated by space)
Descendant Selectors से tag के साथ उसकी सारी child tag मैप किआ जाता है, style देने के लिए | जितने भी child tag हो सबको एक साथ एक तरह का style देने के लिए, descendant selectors का इस्तेमाल होता है |
descendant selectors में दो selectors को space सिंबल देकर लिखा जाता है |
चाहे वो immediate child हो या indirect child हो, css style सारे child tags पे लागु होंगे |
जैसे एक div tag के अंदर कई सारे paragraph है | तो हमे सबको एक तरह के css रूल देना है | तो हम descendant selector का इस्तेमाल करेंगें |
उदाहरण:
<!Doctype html>
<html>
<head>
<title>Combinator Selector</title>
<style>
div p{
color:green;
}
</style>
</head>
<body>
<div class="div1">
<p>this is first paragraph</p>
<p>this is second paragraph</p>
<div class="div2">
<p>this is third paragraph</p>
<p>this is fourth paragraph</p>
</div>
</div>
</body>
</html>
output:

ऊपर के descendant selector के उदाहरण में div p{ color:green; } के जरिये, जितने भी <p> टैग हैं, सबका कलर ग्रीन हुआ | वो पैराग्राफ के कलर भी ग्रीन हुए जो div1 class के अंदर थे, और वो भी जो div2 class के अंदर के पैराग्राफ थे | इसीलिए direct या indirect child हो सब पर css style लागु हुआ |
descendant selectors से आप सारे child tag को एक साथ, एक जैसा style दे सकतें हैं |
2) Child Selector(>)
Parent Element के जो direct child होतें हैं, उन्ही टैग को style देने के लिए Child Selector का इस्तेमाल होता है | > (greater than) सिंबल से दो selector को अलग किआ जाता है |
उदाहरण:
div.div1 > p{ color:green; }
इस उदाहरण में जो <p> tag div1 class के अंदर थे उन्ही का कलर ग्रीन होगा | और बाकि <p> जो div1 के direct child नहीं है, उनके कलर नहीं बदलेंगे |
परिणाम:

3) adjacent sibling selector(+)
एक element के तुरंत बाद वाले element को style करने के लिए adjacent sibling selector का इस्तेमाल होता है | इसमें दोनों selector को +(plus) सिंबल से जोड़ कर लिखा जाता है | मतलब एक टैग बाद जो तुरंत बाद वाला टैग होगा उसे adjacent sibling कहा जायेगा |
निचे हम उदाहरण में देखिये, <h1> tag के बाद कई सारे <p> tags हैं | पर <h1> के तुरंत बाद वाला <p> पे style करना है तो adjacent sibling selector का इस्तेमाल करेंगे |
उदाहरण:
<!Doctype html>
<html>
<head>
<title>Combinator Selector</title>
<style>
h1 + p {
color:red;
}
</style>
</head>
<body>
<h1>heading</h1>
<p>this is first paragraph</p>
<p>this is second paragraph</p>
<p>this is third paragraph</p>
<p>this is fourth paragraph</p>
<div>
<p>this is fifth paragraph</p>
</div>
</body>
</html>
output:

4) general sibling selector(~)
एक element के बाद के सारे एक तरह के elements, general sibling कहलायेंगे | ~(tild) सिंबल से दो general sibling selectors जोड़ा जाता है |
ऊपर दिए उदाहरण में <h1> के बाद वाले सारे <p> tags, <h1> के general sibling कहलायेंगे |
उदाहरण:

इस उदाहरण में <h1> tag के बाद वाले सारे <p> tag का कलर red हुआ | सिर्फ last वाला <p> tag <div> tag के अंदर था, तो वो <h1> tag का sibling नहीं कहलायेगा | इसीलिए उसका कलर नहीं बदला |