sass
एससीएसएस बनाम सैस
खोज…
मुख्य अंतर
हालांकि लोग अक्सर कहते हैं Sass
इस सीएसएस-पूर्वप्रक्रमक के नाम के रूप में, वे अक्सर मतलब SCSS
-syntax। Sass
का उपयोग करता .sass
, फ़ाइल एक्सटेंशन, जबकि SCSS
- Sass
का उपयोग करता .scss
विस्तार। उन्हें दोनों को "सैस" कहा जाता है।
आम तौर पर बोलते हुए, SCSS
-syntax अधिक सामान्यतः प्रयोग किया जाता है। SCSS
अधिक क्षमताओं के साथ नियमित CSS की तरह दिखता है, जबकि Sass
नियमित CSS से काफी अलग दिखता है। दोनों वाक्यविन्यासों में समान क्षमताएं हैं।
वाक्य - विन्यास
मुख्य अंतर यह है कि Sass
घुंघराले कोष्ठक या अर्धविराम का उपयोग नहीं करता है, जहां SCSS
करता है। Sass
भी व्हाट्सएप-सेंसिटिव है, मतलब आपको सही तरीके से इंडेंट करना है। SCSS
, आप कृपया अपने नियमों को प्रारूपित और इंडेंट कर सकते हैं।
एससीएसएस:
// nesting in SCSS
.parent {
margin-top: 1rem;
.child {
float: left;
background: blue;
}
}
एस.ए.एस.एस.:
// nesting in Sass
.parent
margin-top: 1rem
.child
float: left
background: blue
संकलन के बाद, दोनों एक ही सीएसएस का उत्पादन करेंगे:
.parent {
margin-top: 1rem;
}
.parent .child {
float: left;
background: blue;
}
mixins
Sass
अधिक "आलसी" वाक्य रचना करता है। आपके द्वारा परिभाषित और मिश्रणों को शामिल करने की तुलना में इस नीसर को कुछ भी नहीं दिखाता है।
एक मिश्रण को परिभाषित करना
=
कैसे आप में एक mixin परिभाषित है Sass
, @mixin
में SCSS
।
// SCSS
@mixin size($x: 10rem, $y: 20rem) {
width: $x;
height: $y;
}
// Sass
=size($x: 10rem, $y: 20rem)
width: $x
height: $y
जिसमें एक मिक्सिन भी शामिल है
+
कैसे आप में शामिल है Sass
, @include
में SCSS
।
// SCSS
.element {
@include size(20rem);
}
// Sass
.element
+size(20rem)
मैप्स
जब नक्शों की बात आती है, तो आमतौर पर SCSS
आसान सिंटैक्स होता है। क्योंकि Sass
इंडेंट-बेस्ड है, इसलिए आपके मैप्स को एक लाइन में सेव करना होगा।
// in Sass maps are "unreadable"
$white: ( white-50: rgba(255, 255, 255, .1), white-100: rgba(255, 255, 255, .2), white-200: rgba(255, 255, 255, .3), white-300: rgba(255, 255, 255, .4), white-400: rgba(255, 255, 255, .5), white-500: rgba(255, 255, 255, .6), white-600: rgba(255, 255, 255, .7), white-700: rgba(255, 255, 255, .8), white-800: rgba(255, 255, 255, .9), white-900: rgba(255, 255, 255, 1 )
क्योंकि आप अपने कोड को SCSS
साथ कई लाइनों पर प्रारूपित कर सकते हैं, आप अपने मानचित्रों को अधिक पठनीय बनाने के लिए प्रारूपित कर सकते हैं।
// in SCSS maps are more readable
$white: (
white-50: rgba(255, 255, 255, .1),
white-100: rgba(255, 255, 255, .2),
white-200: rgba(255, 255, 255, .3),
white-300: rgba(255, 255, 255, .4),
white-400: rgba(255, 255, 255, .5),
white-500: rgba(255, 255, 255, .6),
white-600: rgba(255, 255, 255, .7),
white-700: rgba(255, 255, 255, .8),
white-800: rgba(255, 255, 255, .9),
white-900: rgba(255, 255, 255, 1)
);
टिप्पणियाँ
Sass बनाम Scss में टिप्पणियाँ काफी हद तक समान हैं, सिवाय इसके कि जब बहु-लाइनें संबंधित हों। SASS
मल्टी-लाइनें इंडेंटेशन-सेंसिटिव हैं, जबकि SCSS
कमेंट टर्मिनेटर्स पर निर्भर करता है।
सिंगल-लाइन टिप्पणी
style.scss
// Just this line will be commented! h1 { color: red; }
style.sass
// Exactly the same as the SCSS Syntax! h1 color: red
मल्टी-लाइन टिप्पणी
style.scss
पहल: /*
टर्मिनेटर: */
/* This comment takes up * two lines. */ h1 { color: red; }
यह रंग लाल के साथ h1
तत्वों को स्टाइल करेगा।
style.sass
अब, SASS
पास दो सर्जक हैं, लेकिन कोई संबंधित टर्मिनेटर नहीं है। एसएएसएस में SASS
टिप्पणियां इंडेंटेशन स्तरों के प्रति संवेदनशील हैं ।
पहल: //
और /*
// This is starts a comment, and will persist until you return to the original indentaton level. h1 color: red
यह रंग लाल के साथ h1
तत्वों को स्टाइल करेगा।
उसी के साथ किया जा सकता है /*
पहल:
/* This is starts a comment, and will persist until you return to the original indentaton level. h1 color: red
इसलिए यह अब आपके पास है! SCSS
और SASS
में टिप्पणियों के बीच मुख्य अंतर!
SCSS और SASS के बीच तुलना
-
SCSS
अधिक एक तरह वाक्य रचना जैसा दिखताCSS
वाक्यविन्यास लेकिनSASS
वाक्य रचना से थोड़ा अलग हैSCSS
लेकिन दोनों बिल्कुल एक ही पैदा करता हैCSS
कोड। -
SASS
हम अर्धविराम (;
) के साथ शैली गुणों को समाप्त नहीं कर रहे हैं;
लेकिन SCSS में हम शैली गुणों को (;
) के साथ समाप्त कर रहे हैं। -
SCSS
हमने स्टाइल प्रॉपर्टीज़ को बंद करने के लिए पैरेंटिसिस{}
का इस्तेमाल किया लेकिनSASS
हमparanthesis
इस्तेमाल नहीं करते हैं। -
SASS
मेंIndentation
बहुत महत्वपूर्ण है। यह तत्व केclass
याid
में नेस्टेड गुणों को परिभाषित करेगा। -
scss
हम कई वेरिएबल्स को सिंगल लाइन में परिभाषित कर सकते हैं लेकिनSASS
हम ऐसा नहीं कर सकते।
लूप सिंटैक्स के लिए
Sass 3.3 और प्लस वर्जन की रिलीज के साथ @ और बाकी सिंटेक्स समान हो गए। अब हम न केवल scss बल्कि sass के साथ भावों का उपयोग कर सकते हैं।
sass वाक्य रचना
@for $i from 1 through 3 {
.item-#{$i} { width: 2em * $i; }
}
को संकलित किया
.item-1 {
width: 2em;
}
.item-2 {
width: 4em;
}
.item-3 {
width: 6em;
}
scss सिंटैक्स
@for $i from 1 through 3 {
.item-#{$i} { width: 2em * $i; }
}
को संकलित किया
.item-1 {
width: 2em;
}
.item-2 {
width: 4em;
}
.item-3 {
width: 6em;
}