2011-11-23 8 views
5

मुझे सैस के indented syntax से प्यार है (एससीएसएस के विपरीत, जो व्हाइटस्पेस अज्ञेयवादी है और ब्रैकेट और अर्धविराम का उपयोग करता है)। मुझे लगता है कि यह बहुत साफ है।एसएएसएस ने एकाधिक लाइनों पर सिंटैक्स इंडेंट किया?

मेरे साथ एक मुद्दा है। अगर मैं एक बहुत लंबी लाइन है, वहाँ (, 80 वर्ण की सीमा का पालन उदाहरण के लिए) को कई पंक्तियों में विभाजित करने के लिए

एक बहुत लंबा mixin घोषणा, पहले एससीएसएस में लिखा के इस उदाहरण लें कोई रास्ता नहीं है।

@mixin col($cols, $mleft: 0, $mright: 0, $include-margin: false, $border: 0, 
      $pleft: 0, $pright: 0, $include-padding: true, $extra: 0, 
      $clear: false, $lead: true, $container: false) { 
    color: red; 
    display: block; 
} 

मैं कई पंक्तियों में एक लंबी घोषणा को विभाजित करने में सक्षम हूँ। इंडेंट सिंटैक्स के साथ, मुझे नहीं लगता कि एक रास्ता है। मुझे एक पंक्ति पर घोषणा करना है, जिस तरह से कम पठनीय है।

@mixin col($cols, $mleft: 0, $mright: 0, $include-margin: false, $border: 0, $pleft: 0, $pright: 0, $include-padding: true, $extra: 0, $clear: false, $lead: true, $container: false) 
    color: red 
    display: block 

वहाँ किसी तरह मैं का पता नहीं है है? :(

+0

http://stackoverflow.com/questions/2389797/is-there-a-multiline-in-sass को डुप्लिकेट के रूप में चिह्नित किया गया है, लेकिन इसका बेहतर उत्तर है। संक्षेप में: सास में कोई मल्टीलाइन नहीं है, हालांकि एससीएसएस में मल्टीलाइन है। Https://github.com/sass/sass/issues/216 भी देखें। –

उत्तर

3

बहुपंक्ति सास के द्वारा समर्थित है नहीं दस्तावेज़ पढ़ना, एक अपवाद नहीं है, जब यह इस उदाहरण में जैसे कई सीएसएस चयनकर्ताओं की बात आती है:। http://sass-lang.com/docs/yardoc/file.INDENTED_SYNTAX.html#multiline_selectors

:

.users #userTab, 
.posts #postTab 
    width: 100px 
    height: 30px 

दस्तावेज़ यहां पढ़ें

तो, उदासी: वहाँ सास में एक तर्क सूची के लिए बहु-पंक्ति का समर्थन प्राप्त करने के लिए कोई संभावना नहीं है

+0

[स्टाइलस] से आने वाले उपयोगकर्ता (http://stylus-lang.com/) सावधान रहें: स्टाइलस के विपरीत, लाइन 1 को पिछली कॉमा की आवश्यकता होती है, अन्यथा आपको चुप विफलता मिलती है (उर्फ: एक बेकार रेखा) –

0

पहले:। इतने सारे तर्क के साथ mixins का निर्माण नहीं करतीं कई छोटे mixins को विभाजित या के रूप में कुछ इसी तरह के तर्क डालें। ए rrays (एसएएस के लिए डेटा मैप्स है)।

दूसरा: आप अपने बड़े कोड की पठनीयता के लिए अस्थायी चर का उपयोग कर सकते हैं।

उदाहरण के लिए:

=mixin($argument) 
    body::before 
     content: $argument 
$v1: 'foo-' 
$v2: 'bar-' 
$v3: 'baz.' 
$var: $v1+$v2+$v3 
+mixin($var) 

इससे आप अपनी सभी $v# तार के साथ Mixin मिल जाएगा एक $var को शामिल हो गए।

body::before { 
    content: 'foo-bar-baz'; 
} 

अगर कोई इंडेंटेड सैस वाक्यविन्यास में कई तारों में शामिल होने का बेहतर तरीका जानता है, तो मुझे जानकर खुशी होगी। क्योंकि मैं इसके साथ जटिल ग्रेडियेंट और इनलाइन जेनरेट एसवीजी लिखता हूं।

संबंधित मुद्दे