CSS Selectors
In this page:
element { } /* type */
.class-name { } /* class */
#id-name { } /* id */
* { } /* all */
selector1, selector2 { }
Element Selectors
एक element selector किसी दिए गए HTML tag के हर instance को target करता है, बस उसके आगे बिना किसी dot या hash के tag name लिखकर। क्योंकि element selectors इतने broad होते हैं, वे one-off exceptions के बजाय base styling के लिए ज़्यादा बेहतर हैं।
उदाहरण: Element Selectors
<style>
p {
font-family: sans-serif;
}
</style>
<p>Every paragraph on the page gets this style</p>
Class Selectors
एक class selector एक dot से शुरू होता है और किसी भी ऐसे element को match करता है जिसके class attribute में वह class हो। एक ही class को जितने चाहें उतने elements पर reuse किया जा सकता है। असली projects में classes सबसे common selector type हैं, ठीक इसी reusability की वजह से।
उदाहरण: Class Selectors
<style>
.card {
border: 1px solid #ccc;
}
</style>
<div class="card">Card 1</div>
<div class="card">Card 2</div>
ID Selectors
एक ID selector एक hash symbol से शुरू होता है और page पर उस exact ID वाले एक ही element को match करता है। IDs unique होने के लिए बनी हैं, classes के उलट, जो repeat हो सकती हैं। इसी uniqueness rule की वजह से, IDs को रोज़मर्रा की styling के बजाय page anchors और JavaScript hooks के लिए बचाकर रखना बेहतर है।
उदाहरण: ID Selectors
<style>
#main-nav {
background: navy;
}
</style>
<nav id="main-nav">Navigation</nav>
Universal और Grouped Selectors
Universal selector (एक अकेला asterisk) page के हर element को match करता है, और grouped selectors कई selectors को commas से combine करते हैं ताकि वे सभी एक declaration block share करें।
'.a, .b, #c' जैसे दोनों को combine करना किसी stylesheet को compact रखने का एक common तरीका है जब कई असंबंधित elements को identical treatment चाहिए होता है।
उदाहरण: Universal and Grouped Selectors
<style>
* {
margin: 0;
padding: 0;
}
.a, .b, #c {
color: red;
}
</style>
<div class="a">A</div>
<div class="b">B</div>
<div id="c">C</div>
Combinators (Descendant और Child)
Combinators selectors के बीच relationships describe करते हैं। दो selectors के बीच एक space का मतलब है 'कोई भी descendant', जबकि एक greater-than sign का मतलब है 'सिर्फ एक direct child'। यह अंतर समझना ज़रूरी है ताकि यह control किया जा सके कि कोई style nested markup में कितना गहरा पहुँचे।
उदाहरण: Combinators (Descendant and Child)
<style>
.card p {
color: gray;
}
.card > span {
color: blue;
}
</style>
<div class="card">
<p>Descendant paragraph</p>
<span>Direct child span</span>
</div>
- किसी class selector (dot से शुरू) को ID selector (hash से शुरू) के साथ confuse कर देना।
- कई elements को एक ही ID देना, जो invalid है क्योंकि IDs को किसी page पर unique होना चाहिए।
- एक overly specific selector लिखना जबकि एक simple class selector भी उतना ही अच्छा काम करता।
- Element selectors किसी tag के हर instance को target करते हैं, जैसे हर paragraph या हर button।
- Class selectors (dot के साथ) कई elements पर reuse किए जा सकते हैं; ID selectors (hash के साथ) unique होने चाहिए।
- Selectors को combine और group किया जा सकता है ताकि elements को ज़्यादा precisely target किया जा सके या एक rule को एक साथ कई elements पर लागू किया जा सके।
यहाँ बताए गए सभी standard CSS selectors हर modern browser में supported हैं।
Chapter Quiz — Complete all 7 topics to unlock
0/7 topics done
Complete these topics first: