क्योंकि सीएसएस एक प्रोग्रामिंग भाषा नहीं है, इसके बजाय, यह कॉन्फ़िगरेशन फ़ाइल है जिसमें आपके प्रोग्राम के लिए चर डेटा शामिल है।
वर्तमान में CSS इतना शक्तिशाली है कि आप वास्तव में इसमें प्रोग्राम कर सकते हैं , लेकिन यह बिंदु के अलावा है। संक्षेप में यह अभी भी एक स्टाइलशीट भाषा है ।
एक कदम पीछे हटते हैं। कल्पना कीजिए कि हमारे पास एक प्रोग्रामिंग भाषा है जो एक स्क्रीन पर आकर्षित हो सकती है। कल्पना कीजिए कि हम इसे वेब पेज को पेंट करने के लिए प्रोग्राम करना चाहते हैं।
सबसे पहले हम अपने कोड में कई मैजिक नंबर दर्ज करेंगे। मार्जिन की चौड़ाई, पाठ की ऊँचाई, इंडेंटेशन इत्यादि।
jump(100) // The margin
drawTable(500, 500)
writeText("Hello World", 12)
इसलिए हम मैजिक नंबरों को निकालते हैं, और उन्हें हमारी फाइल के ऊपर रख देते हैं।
int margin = 100
int table = 500
int text_size = 12
jump(margin) // The margin
drawTable(table, table)
writeText("Hello World", text_size)
अब यह थोड़ा बदसूरत है। हम एक कॉन्फ़िगरेशन फ़ाइल से अपने चर संख्याओं को पढ़ते हैं।
margin 100
table 500
text size 12
एमएम, यह थोड़ा अस्पष्ट है ... उन संख्याओं का क्या मतलब है? उन नामों का क्या मतलब है? इसे थोड़ा औपचारिक करते हैं।
margin_left 10em
table_width 500px
table_height 500px
font_size 12px
लेकिन आप जानते हैं, हम अपने कार्यक्रम को थोड़ा विस्तार देना चाहते हैं। हम यह भी चाहते हैं कि यह कई तालिकाओं वाले पृष्ठ, बिना तालिकाओं वाले पृष्ठ, पैराग्राफ या बटनों वाले पृष्ठ और अधिक क्या है। आइए अपनी कॉन्फ़िगरेशन फ़ाइल में चयनकर्ताओं को जोड़ते हैं ताकि हम निर्दिष्ट कर सकें कि पैराग्राफ में बड़ा फ़ॉन्ट या अलग-अलग टेक्स्ट का रंग होना चाहिए, शायद हम नेस्टेड तत्वों का समर्थन कर सकते हैं, शायद हम अपनी कॉन्फ़िगरेशन फ़ाइल में एक सामान्य संपत्ति का उपयोग कर सकते हैं, और फिर इसे एक विशिष्ट के साथ ओवरराइड कर सकते हैं कुछ नेस्टेड तत्वों में से एक।
आपको लगता है कि यह कहां जा रहा है, आखिरकार आप सीएसएस के रूप में पहुंचते हैं। (और एक ब्राउज़र इसे रेंडर करने के लिए।)
क्या हमें अपनी कॉन्फ़िगरेशन फ़ाइल में क्षमताओं को जोड़ना चाहिए ताकि हम फिर से जादू की संख्या से बच सकें? चर जोड़ें? हमारे CSS फ़ाइल के लिए एक कॉन्फ़िगरेशन फ़ाइल जोड़ें? यह थोड़ा व्यर्थ लगता है यदि आपको याद है कि हमारी CSS फाइल पहले से ही बहुत ही विन्यास फाइल है।
लेकिन यह सच नहीं है; आपकी सीएसएस फ़ाइल बड़ी और बड़ी हो जाती है, और अंततः आप मूल समस्याओं के साथ ही उसी समस्या में भाग लेते हैं, जो एक ही संख्या में सभी जगह दोहराई जाती है, कभी-कभी एक छोटे से परिवर्तन के साथ, आदि।
आधुनिक सीएसएस हालांकि, इस पुनरावृत्ति से बचने के कई तरीके की अनुमति देता है। आप कई तत्वों पर लागू होने वाली कक्षाओं का उपयोग कर सकते हैं, आप सभी के लिए शैली सेट कर सकते हैं div
, लेकिन फिर एक विशेष रूप से ओवरराइड कर सकते हैं, और सीएसएस 3 यहां तक कि कुछ प्रकार के चर उपयोग की अनुमति देता है।
इसका मतलब यह नहीं है कि आपको हर संभावित स्थान पर सीएसएस चर का उपयोग शुरू करने की आवश्यकता है। इसका उपयोग करें जहां यह समझ में आता है और इसका उपयोग करें जहां आप दोहराव से बचते हैं या जहां अन्य तकनीक भी उपलब्ध हैं वे कम हो जाते हैं।
अंत में, आप अपनी कॉन्फ़िगरेशन फ़ाइल में बहुत सारे जादुई नंबर नहीं चाहते हैं :-)