CSS एडवांस्ड ग्रामर

चयनकर्ताओं का गठन

आप चयनकर्ताओं को गठित कर सकते हैं, इस तरह, गठित चयनकर्ताओं को साझा करने वाले घोषणाएं हो सकती हैं। चयनकर्ताओं को अलग-अलग करने के लिए संयोजक का उपयोग करें। इस उदाहरण में, हमने सभी शीर्षक एलिमेंटों को गठित किया है। सभी शीर्षक एलिमेंटों को हरी रंग दिया गया है।

h1,h2,h3,h4,h5,h6 {
  color: green;
  }

विरासत और उसकी समस्याएं

CSS के अनुसार, उपलब्ध एलिमेंट पैरंट एलिमेंट से गुण का विरासत करता है। लेकिन यह हमेशा इस तरह काम नहीं करता। देखिए इस नियम को:

body {
     font-family: Verdana, sans-serif;
     }

उपरोक्त नियम के अनुसार, साइट के body एलिमेंट को Verdana फ़ॉन्ट का उपयोग करना होगा (यदि आगमन करने वाले के प्रणाली में इस फ़ॉन्ट की उपलब्धता हो)।

CSS विरासत के माध्यम से, सबसे ऊपरी एलिमेंट (इस मामले में body) के गुण को उपलब्ध कराया जाएगा (इन सबसे ऊपरी एलिमेंटों p, td, ul, ol, ul, li, dl, dt, और dd)। अतिरिक्त नियम की आवश्यकता नहीं है, सभी body के उपलब्ध एलिमेंटों को Verdana फ़ॉन्ट दिखाना चाहिए, उपलब्ध एलिमेंट के उपलब्ध एलिमेंटों को भी। और अधिकांश आधुनिक ब्राउज़रों में यही बात है।

लेकिन उस ब्राउज़र युद्ध के खूंखारी दौर में, इस बात को नहीं होता, उस समय मानकों के समर्थन को किसी कंपनी का प्राथमिकता नहीं था। उदाहरण के लिए, Netscape 4 विरासत को नहीं समर्थित करता, यह विरासत को तो अनदेखा करता है, बोडी एलिमेंट पर लगाए गए नियम को भी अनदेखा करता है। IE/Windows तक IE6 तक इस समस्या का अस्तित्व था, टेबल के अंदर के फ़ॉन्ट स्टाइल अनदेखा कर दिया जाता था। हम कैसे इसे कैसे करें?

सद्भाव से Netscape 4 का बढ़ावा

सफलतापूर्वक, आप "Be Kind to Netscape 4" नामक अतिरिक्त नियम का उपयोग करके पुराने ब्राउज़रों को समझने वाले विरासत के मुद्दे को संभाल सकते हैं जो विरासत को समझ नहीं पाते हैं।

body  {
     font-family: Verdana, sans-serif;
     }
p, td, ul, ol, li, dl, dt, dd  {
     font-family: Verdana, sans-serif;
     }

4.0 ब्राउज़र विरासत को समझ नहीं पाते, लेकिन उन्हें ग्रुप चैसिस को समझते हैं।ऐसा करने से कुछ यूज़र के बैंडविड्थ को बर्बाद हो सकता है, लेकिन Netscape 4 यूज़र को सहारा देने के लिए इसे करना पड़ता है。

विरासत एक शाप है क्या?

अगर आप "Verdana, sans-serif" फ़ॉन्ट को सभी सब-एलिमेंट को विरासत नहीं होने देना चाहते हैं, तो क्या करें? उदाहरण के लिए, आपको पैराग्राफ के फ़ॉन्ट टाइम्स होना चाहते हैं।कोई समस्या नहीं।p के लिए एक विशेष नियम बनाएं, ताकि यह पिता एलिमेंट के नियम से निकल जाए:

body  {
     font-family: Verdana, sans-serif;
     }
td, ul, ol, ul, li, dl, dt, dd  {
     font-family: Verdana, sans-serif;
     }
p  {
     font-family: Times, "Times New Roman", serif;
     }