CSS चयनकर्ता

आपके पास तत्वों से भरा एक पृष्ठ है और शैलियों का एक समूह है जो आप लागू करना चाहते हैं, लेकिन एक रंग या फॉन्ट तब तक काम नहीं आता जब तक आप यह नहीं कह सकते कि यह किन तत्वों से संबंधित है। एक चयनकर्ता वह है जिससे आप सही लोगों की ओर इशारा करते हैं: यह पैराग्राफ, हर बटन, केवल नेव के अंदर के लिंक। चयनकर्ताओं के साथ सहज हो जाएं और CSS का बाकी हिस्सा बदलने के लिए चुनने का मामला बन जाता है, क्योंकि आप पहले से ही जानते हैं कि इसे कैसे प्राप्त करें।
प्रकार, वर्ग, और आईडी चयनकर्ता
एक CSS नियम के दो भाग होते हैं: एक चयनकर्ता जो यह चुनता है कि कौन से तत्वों को स्टाइल करना है, और घोषणाओं का एक ब्लॉक जो कहता है कि कैसे। सबसे सरल चयनकर्ता तत्व का नाम है, जिसे प्रकार चयनकर्ता कहा जाता है। p लिखें और पृष्ठ पर हर पैराग्राफ को स्टाइल किया जाता है।
यह अक्सर बहुत व्यापक होता है। आप शायद ही कभी चाहते हैं कि सभी पैराग्राफ एक जैसे दिखें। तो आप तत्वों को HTML class विशेषता का उपयोग करके एक क्लास कहा जाने वाला लेबल देते हैं, और CSS से उस लेबल को एक बिंदु के साथ लक्षित करते हैं। एक क्लास को एक नाम टैग की तरह सोचें: आप उसी टैग को हर तत्व पर लगाते हैं जिसे आप एक समूह के रूप में मानना चाहते हैं, फिर एक बार टैग को स्टाइल करते हैं।
<button class="btn-primary">साइन अप करें</button>
<button class="btn-primary">अभी खरीदें</button>/* प्रकार चयनकर्ता: पृष्ठ पर हर बटन */
button {
font-family: inherit;
}
/* वर्ग चयनकर्ता: केवल btn-primary टैग किए गए तत्व */
.btn-primary {
background: rebeccapurple;
color: white;
}दोनों बटन एक नियम से .btn-primary स्टाइलिंग को उठाते हैं, क्योंकि वे क्लास साझा करते हैं। वह पुन: उपयोग वह संपूर्ण कारण है कि वर्ग वह उपकरण हैं जिसके लिए आप पहुंचते हैं। यह सीधे CSS कैसे काम करता है पर बनाया गया है, जहां प्रत्येक नियम एक चयनकर्ता को घोषणाओं के एक सेट के साथ जोड़ता है।
p उस प्रकार के हर तत्व को मार देता है, जो आमतौर पर इससे अधिक होता है जितना आप चाहते हैं। एक क्लास एक नाम टैग है जिसे आप जिन तत्वों की परवाह करते हैं उन पर लगाते हैं और एक बिंदु के साथ स्टाइल करते हैं, जैसे .btn-primary। लगभग सब कुछ के लिए क्लासों के साथ शुरुआत करें और आप बहुत गलत नहीं जाएंगे। संयोजक: संबंध के आधार पर चयन करना
कभी-कभी आप किसी तत्व को केवल तभी स्टाइल करना चाहते हैं जब वह किसी दूसरे के अंदर बैठता है। आपके नेविगेशन में लिंक एक पैराग्राफ में लिंक से अलग दिखना चाहिए, भले ही दोनों <a> तत्व हों। आप उस संबंध को एक संयोजक के साथ वर्णित करते हैं: दो चयनकर्ताओं को एक स्पेस के साथ एक साथ रखें, और CSS इसे "दूसरा एक, लेकिन पहले के अंदर केवल" के रूप में पढ़ता है।
तो .nav a का अर्थ है "nav क्लास वाले तत्व के अंदर कोई भी लिंक"। स्पेस यहां असली काम कर रहा है। यह सजावट नहीं है, यह अंदर देखने का निर्देश है।
/* वंशज: नेव के अंदर कोई भी लिंक */
.nav a {
text-decoration: none;
}
/* बाल: केवल सूची आइटम जो .menu के तत्काल बच्चे हैं */
.menu > li {
display: inline-block;
}पहला नियम नेव के अंदर नेस्टेड हर लिंक तक पहुंचता है; दूसरा केवल मेनू की शीर्ष-स्तर की वस्तुओं तक पहुंचता है और किसी भी नेस्टेड सूची को अकेला छोड़ देता है। उनके बीच चुनना यह चुनना है कि आप नियम को कितना नीचे यात्रा करना चाहते हैं।
.nav a लिंक को स्टाइल करता है जो नेव के अंदर बैठते हैं। वह स्पेस एक निर्देश है, दिखने के लिए रिक्त स्थान नहीं, इसलिए इसे गलती से ड्रॉप न करें। यह एक पैटर्न रोज़मर्रा की स्टाइलिंग का बहुत कुछ कवर करता है। छद्म-वर्ग: स्थिति के आधार पर स्टाइलिंग
तत्व विभिन्न स्थितियों में हो सकते हैं। एक लिंक शांत बैठ सकता है या माउस इसके ऊपर मंडरा सकता है। एक छद्म-वर्ग आपको अपनी स्थिति के आधार पर एक तत्व को स्टाइल करने देता है, और आप इसे चयनकर्ता के बाद एक एकल कोलन के साथ लिखते हैं।
जो आप सबसे पहले उपयोग करेंगे वह :hover है। .btn-primary:hover लिखें और वे शैलियां केवल तभी लागू होती हैं जब पॉइंटर बटन के ऊपर हो, जो यह है कि बटन और लिंक कैसे देते हैं कि छोटी दृश्य प्रतिक्रिया जब आप उन पर इशारा करते हैं।
.btn-primary:hover {
background: purple;
}
/* कीबोर्ड उपयोगकर्ताओं को एक दृश्यमान फोकस संकेतक की आवश्यकता है */
.btn-primary:focus-visible {
outline: 2px solid rebeccapurple;
outline-offset: 2px;
}पहला नियम बटन के ऊपर पॉइंटर होने पर आग लगाता है; दूसरा कीबोर्ड द्वारा चुने जाने पर एक स्पष्ट रिंग खींचता है, जो एक माउस के बिना पृष्ठ को उपयोग करने योग्य रखता है। रंग और आउटलाइन पसंद यहां CSS कैसे काम करता है और किसी भी संपत्ति पर आप सेट करते हैं उससे मान तक जुड़ते हैं।
:hover जब पॉइंटर इसके ऊपर हो। वह है जहां एक बटन का होवर प्रभाव से आता है। आप इसे चयनकर्ता के ठीक पर जोड़ते हैं, उनके बीच कोई स्पेस नहीं। छद्म-तत्व: एक तत्व के भाग को स्टाइल करना
एक छद्म-वर्ग एक पूरे तत्व को एक निश्चित स्थिति में स्टाइल करता है। एक छद्म-तत्व अलग है: यह आपको एक तत्व के भाग को स्टाइल करने देता है, या सामग्री का एक छोटा सा टुकड़ा जोड़ता है जो आपकी एचटीएमएल में बिल्कुल नहीं है।
जो दो आप पहले से मिलेंगे वे ::before और ::after हैं। वे एक तत्व की शुरुआत या अंत में सामग्री को सम्मिलित करते हैं, और आप content संपत्ति के साथ सम्मिलित करने के लिए क्या बताते हैं। दो कोलन पर ध्यान दें: वह दोहरी कोलन है कि CSS एक छद्म-तत्व को छद्म-वर्ग से कैसे अलग करता है।
/* हर नेव लिंक के बाद एक सजावटी तीर जोड़ें */
.nav a::after {
content: " →";
color: rebeccapurple;
}
/* एक खोज बॉक्स के अंदर संकेत पाठ को स्टाइल करें */
.search-input::placeholder {
color: grey;
font-style: italic;
}::after नियम एक तीर सम्मिलित करता है जो केवल स्टाइलिंग में रहता है, एचटीएमएल में नहीं, जबकि ::placeholder इनपुट के अंदर पहुंचता है ब्राउज़र द्वारा खींचे गए पाठ को स्टाइल करने के लिए। दोनों कुछ ऐसा स्टाइल करते हैं जो आप एक सादे चयनकर्ता के साथ अन्यथा नहीं पहुंच सकते। यदि आप संकेत पाठ और लेबल को स्टाइल कर रहे हैं, तो टाइपोग्राफी अध्याय पाठ पक्ष पर गहरा जाता है।
::before और ::after। उन दोनों को दिखाने के लिए एक content संपत्ति की आवश्यकता है। दोहरी कोलन एक छद्म-तत्व को एक छद्म-वर्ग से बताने का त्वरित तरीका है। विशिष्टता: कौन सा नियम जीतता है
जल्दी या बाद में दो नियम एक ही तत्व को विभिन्न तरीकों से स्टाइल करने का प्रयास करेंगे। एक कहता है पाठ नीला है, दूसरा कहता है यह लाल है। ब्राउज़र को एक चुनना होगा, और जिस तरीके से यह निर्णय लेता है उसे विशिष्टता कहा जाता है: अधिक विशिष्ट चयनकर्ता जीतता है।
लघु संस्करण शक्ति का एक क्रम है। एक आईडी चयनकर्ता एक वर्ग चयनकर्ता को मारता है, और एक वर्ग चयनकर्ता एक प्रकार चयनकर्ता को मारता है। तो अगर #header और .title दोनों एक ही तत्व पर रंग सेट करते हैं, तो आईडी जीतता है। जब दो नियम समान रूप से विशिष्ट हों, तो फ़ाइल में बाद का वाला जीतता है।
/* प्रकार चयनकर्ता, विशिष्टता (0, 0, 1) */
p {
color: grey;
}
/* वर्ग चयनकर्ता, विशिष्टता (0, 1, 0): यह एक जीतता है */
.intro {
color: black;
}<p class="intro">यह पैराग्राफ काला है, क्योंकि वर्ग नियम प्रकार नियम को आगे करता है।</p>दोनों नियम पैराग्राफ को लक्षित करते हैं और दोनों color सेट करते हैं, लेकिन वर्ग चयनकर्ता प्रकार चयनकर्ता की तुलना में अधिक विशिष्ट है, इसलिए पैराग्राफ काला है। विशिष्टता सीढ़ी को ऊपर या नीचे एक चयनकर्ता को नदिंग करना अक्सर संघर्ष को हल करने के लिए सब कुछ है भारी उपकरणों का सहारा लिए बिना। बॉक्स मॉडल अध्याय समान प्रवाह में चलता है जब रिक्त स्थान नियम टकराते हैं।

