दिलचस्प पोस्ट
पायथन में, आप ऑर्डर किए गए आदेश के रूप में YAML मैपिंग कैसे लोड कर सकते हैं? "Git commit" और "git push" के बीच के अंतर क्या हैं? जावा और एक्सएमएल में कस्टम घटक मापदंडों को कैसे पारित करें Django यूआरएल त्रुटि: देखने के मामले में एक कॉल करने योग्य या एक सूची / ट्यूपल होना चाहिए () हरको पर एक एक्सप्रेस / नोड.जेएस एप्लिकेशन को कॉस रिकस्ट अनुरोध की अनुमति दें कैसे SQL सर्वर के लिए हायबरनेट कॉन्फ़िग फाइल को कॉन्फ़िगर करने के लिए पायथन में पास वक्तव्य का उपयोग कैसे करें .NET में कोड प्रदर्शन को मापने के लिए कैसे? एंड्रॉइड में EditText का फोकस रंग कैसे बदल सकता है रेडिस का उपयोग करके पैटर्न से मिलान करने वाली कुंजियों को कैसे परोक्ष रूप से हटाएं एक ही कंप्यूटर पर एकाधिक गिटब खाते हैं? सीएसएस – बनाओ divs क्षैतिज संरेखित करें कैसे "वसा" कोको टच फ्रेमवर्क (सिम्युलेटर और डिवाइस के लिए) को निर्यात करने के लिए? SQLAlchemy-flask एप में कच्चे एसक्यूएल को कैसे निष्पादित करें सदिश के तत्वों के सभी संभावित संयोजनों की सूची उत्पन्न करें

एससीएसएस ने नेस्टेड चयनकर्ता का विस्तार किया है और नीडिंत नियमों को ओवरराइड किया है

ठीक है तो मेरे पास नेस्टेड चयनकर्ता के साथ प्लेसहोल्डर है:

%block { .title { font-size:12px; } } 

मैं इसका विस्तार करना चाहता हूं और। .title वर्ग में जोड़ें:

 .superblock { @extend %block; .title { font-weight:bold; } } 

जवाब मैं चाहता हूँ यह है:

 .superblock .title { font-size: 12px; font-weight: bold; } 

हालांकि, मुझे जो उत्तर मिलता है वह यह है:

 .superblock .title { font-size: 12px; } .superblock .title { font-weight: bold; } 

क्या मैं कुछ गलत कर रहा हूं या क्या यह काम करता है? स्पष्ट करने के लिए मैं इसे मर्ज करना चाहता हूं। अगर मैं कुछ सीधे अंदर .superblock.superblock और दूसरे की तरह जोड़ .superblock2 जो कि% ब्लॉक का विस्तार करता है, वे किसी भी समस्या के बिना विलय कर देते हैं।

वेब के समाधान से एकत्रित समाधान "एससीएसएस ने नेस्टेड चयनकर्ता का विस्तार किया है और नीडिंत नियमों को ओवरराइड किया है"

डुप्लिकेट चयनकर्ताओं के "मर्जिंग" के लिए Sass की कोई कार्यक्षमता नहीं है सीएसएस के संकलित होने के बाद आपको यह करने के लिए एक अन्य उपयोगिता मिलनी होगी।

@extend डायरेक्टिव केवल @extend स्थान पर कक्षाओं का उपयोग करने का एक तरीका नहीं है (कम शैली मिक्सिन कॉल की तरह)। क्यों @extend यह काम करता है जिस तरह से यह स्पष्ट हो जाता है जब आप कक्षाओं को बढ़ाने के बजाय सामान्य कक्षाएं बढ़ा रहे हैं:

 .block { font-size:12px; } .foo { @extend .block; font-weight: bold; } 

आउटपुट:

 .block, .foo { font-size: 12px; } .foo { font-weight: bold; } 

विस्तार वर्ग का उपयोग केवल मूल वर्ग के नाम के उत्सर्जन को दबा देता है।

अब जब आपने देखा है कि @extend इसलिए काम करता है, तो क्या आप अभी भी चाहते हैं कि @extend प्रदान करता है? यदि जवाब नहीं है, तो आपको एक मिक्सिन का उपयोग करना होगा:

 @mixin block { // styles .title { font-size: 12px; @content; } } .superblock { @include block { font-weight: bold; } } 

आउटपुट:

 .superblock .title { font-size: 12px; font-weight: bold; } 

यह बहुत ज्यादा है SASS विस्तारित घोषणाओं को अलग-अलग उत्पादन करता है

और इसमें चयनकर्ता द्वारा समूह की घोषणाओं की कोई कार्यक्षमता नहीं है, यह वह स्मार्ट नहीं है

लेकिन आपको चिंता करने की आवश्यकता नहीं है कि सीएसएस स्वच्छता के बारे में बहुत कुछ। आधुनिक वेब सर्वर सीएसएस की सेवा प्रदान करते हैं, सभी अनुलिपि अच्छी तरह से संकुचित हो जाएंगी।

कम वह कर सकता है हालांकि आप लिखेंगे:

 .superblock { .title { .block .title; } } 

सुनिश्चित नहीं है कि यह @ एक्सटेंशन के साथ भी काम करता है

आप एक उपकरण का उपयोग कर सकते हैं, मैं इसे सीएसएस को साफ करने के लिए इस्तेमाल किया है https://github.com/addyosmani/grunt-uncss

"UnCSS के साथ आपकी परियोजनाओं से अप्रयुक्त सीएसएस को हटाने के लिए एक कठोर कार्य।"