2012-07-30 12 views
19

ठीक है इसलिए इसने मुझे परेशान किया है क्योंकि मैं पिछले साल या उससे अधिक के लिए सास/एसएसएस का उपयोग कर रहा हूं। मैं अपने सामान्य अर्थ में माता-पिता चयनकर्ता को समझता हूं।नेस्टेड चयनकर्ताओं के अंदर एम्परसैंड (एसएएसएस पैरेंट चयनकर्ता) का उपयोग

यह वह जगह है जहाँ मैं संघर्ष (चाहे वह या दस्तावेज नहीं है बस संभव नहीं):

#parent { 
    #child { 
    width: 75%; 

    .additional_parent_class & { 
     width: 50%; 
    } 
    } 
} 

यह मूलतः में बदल जाएगी:

.additional_parent_class #parent #child { 
    width: 50%; 
} 

हालांकि इस के कार्यान्वयन की वजह से समझ में आता है एम्परसैंड और इसका उपयोग कैसे किया जाता है। यह यह क्या प्राप्त करने के लिए अगर मैं पाने के लिए कोशिश कर रहा हूँ:

#parent.additional_parent_class #child { 
    width: 50%; 
} 

एक ही रास्ता मैं प्राप्त करने के लिए इस बच्चे घोषणाओं के बाहर एक और नियम लिख कर है सक्षम किया गया है:

#parent{ 
    #child { 
    width: 75%; 
    } 

    &.additional_parent_class #child { 
    width: 50%; 
    } 
} 

इस जबकि इस कार्यान्वयन में अनिवार्य रूप से 'बट में दर्द' नहीं है, यह काउंटर उत्पादक लगता है अगर # चाइल्ड के अपने बच्चे हैं जिन्हें अब दोनों नियमों में डुप्लिकेट करने की आवश्यकता होगी।

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

कोई भी कुछ जानता है जो मैं नहीं करता?

धन्यवाद!

+0

यह [सास Google समूह] के लिए एक बेहतर सवाल होगा (के लिए & की तरह कुछ था https://groups.google.com/forum/?fromgroups#!forum/ sass-lang) – maxbeatty

+1

मैन, मुझे यह सुविधा देखने के लिए प्यार होगा। मैं इसके लिए खोज कर आया और यह सब मुझे अब तक मिला है। – jthomas

+0

1. एसएएसएस कैसे कक्षा को कहां रखना है? यह टेलीपैथिक नहीं है। 2. आप चीजों को कम करने लगते हैं। SASS उपयोगकर्ताओं के बीच अत्यधिक घोंसला आम है, और यह अच्छा नहीं है। एक [SMACSS] (http://smacss.com/) दृष्टिकोण का उपयोग करने पर विचार करें, यह गहरी घोंसले के उपद्रव को दृढ़तापूर्वक हल करता है। –

उत्तर

4

मैं मानता हूं कि यह बहुत उपयोगी होगा। दुर्भाग्यवश, यह एसएएसएस (या किसी अन्य सीएसएस प्रीप्रोसेसर के बारे में मुझे पता है) में वर्तमान में संभव नहीं है।

5

हालांकि यह वर्तमान में संभव नहीं है, लेकिन & वाक्यविन्यास में इस तरह के कई समान सुधार Sass 3.3 में रिलीज़ होने के लिए निर्धारित किए गए हैं। आप सास मुद्दे here पर सुविधा के बारे में चर्चा का पालन कर सकते हैं।

0

यह v3.4 में सक्षम है 3.3 में हो सकता है लेकिन सुनिश्चित नहीं है। हालांकि मैं वाक्यविन्यास का प्रशंसक नहीं हूं। & बहुत आसान है। काश वहाँ^एक उपनाम :)

#parent { 
    #child { 
     width: 75%; 
     @at-root #{selector-replace(&, '#parent', '#parent.additional_parent_class')} { 
      width: 50%; 
     } 
    } 
} 
संबंधित मुद्दे