सास (SASS)
सास (SASS) एक सिएसएस (CSS) एक्सटेन्सन हो जसले सिएसएस (CSS) लाई पनि एक प्रोग्रामिङ्ग ल्याङ्गवेजको जस्तो काम गराउछ । सासको साहायताले सिसएसएस स्यान्टेक्सहरुले लेख्दा त्यसमा भेरिएबल , नेस्टेड रुल , मिनिङ्ग, ईनलाईन ईम्पोर्ट आदीको प्रयोग गर्न सकिन्छ ।
उदारणको लागी तपाई एउटा सिएसए फाईल तयार गर्दै हुनुहुन्छ र फन्ट फेमिलि हरु बिभिन्न क्लास , ईलेमेन्टहरुमा प्रयोग गर्दा एकरुपता अपनाउन जरुरी छ भने त्यसलाई भेरीएबलको रुपमा सेभ गर्न सक्नु हुन्छ । र जहाँ जुन जुन सेलेक्टर , ईलेमेन्टमा सो फन्टको आवश्यकता पर्दछ त्यहाँ त्यो फन्ट भेरिएबल प्रयोग गर्न सक्नु हुन्छ । ट्रेडिशनल सिएसएस मा यो सम्भव छैन त्यसैले सास को प्रयोग गरेर यस्तो गर्न सकिन्छ ।
$font-stack: Helvetica, sans-serif;
$primary-color: #333;
body {
font: 100% $font-stack;
color: $primary-color;
}
सास को प्रयोग गरेर यस्तो सिएसएस बनाउन सकिन्छ ।
body {
font: 100% Helvetica, sans-serif;
color: #333;
}
यो त सिएसएस कोड लेख्नको लागी सास मा भेरिएबलको प्रयोग मात्र भयो । सास मा सिएसएस फाईल तयार गर्नको लागी नेष्टेड रुल , मिनिग्स, ईनलाईन ईम्पोर्ट आदीको प्रयोग गर्न सकिन्छ । अब आऊनुस यिनिहरुको बारेमा छोटो चर्चा गरौ ।
नेष्टेड रुल
सास को साहायताले एक अर्कामा अन्तर्निहित प्रपटिजहरु शेयर गर्न सक्दछन । उदारणको लागी
nav {
ul {
margin: 0;
padding: 0;
list-style: none;
}
li { display: inline-block; }
a {
display: block;
padding: 6px 12px;
text-decoration: none;
}
}
लेखेर त्यसलाई सिएसएस फाईलमा कम्पाईल गर्नु भो भने तल दिएको जस्तो सिएसएस स्यान्टेक्स तयार हुन्छ ।
nav ul {
margin: 0;
padding: 0;
list-style: none;
}
nav li {
display: inline-block;
}
nav a {
display: block;
padding: 6px 12px;
text-decoration: none;
}
ईम्पोर्ट
सास को अर्को राम्रो र पक्ष भनेको टुक्रा टुक्रा कोडहरुलाई ईम्पोर्ट गरी एकै ठाँउमा सँग्रह गर्नु सक्न पनि हो । उदारणको लागि यती तपाईले कोडहरुलाई मेन्टेन गर्न सजिलो होस भने सानो सानो टुक्रा पारेर भिन्दा भिन्दै फाईलमा राख्नु भएको छ र त्यसलाई एकै पटक प्रयोग गर्न तल दिए अनुसार गर्न सकिन्छ ।
// _reset.scss
html,
body,
ul,
ol {
margin: 0;
padding: 0;
}
// base.scss
@import 'reset';
body {
font: 100% Helvetica, sans-serif;
background-color: #efefef;}
माथीको उदारणमा एउटा रिसेट भन्ने फाईल छ त्यसमा सिएसएस रिसेटभ्यालहरु राखीएको छ र अर्को बेस भन्ने फाईलमा ईम्पोर्ट गर्ने हो भने सास को मद्दतले तल दिए अनुसारको सिएसएस फाईल बनाउन सकिन्छ ।
html,
body,
ul,
ol {
margin: 0;
padding: 0;
}
body {
font: 100% Helvetica, sans-serif;
background-color: #efefef;
}
मिक्सीन
पिएचपी , जाभास्क्रीप्टका फङ्गसन हरुमा जस्तो सास फाईलमा पनि भेरिएबल हरु आवश्यकता अनुसार पास गर्न सकिन्छ ।
@mixin transform($property) {
-webkit-transform: $property;
-ms-transform: $property;
transform: $property;
}
.box { @include transform(rotate(30deg)); }
सासमा मिक्सीनको प्रयोग गर्दा कुनै क्लासको नामको अगाडी @mixin लेख्न पर्छ ।
.box {
-webkit-transform: rotate(30deg);
-ms-transform: rotate(30deg);
transform: rotate(30deg);
}
एक्सटेन्ड्स/ईनहेरिटेन्डस
यो सासको अर्को उपयोगी फिचर हो । यसमा सिएसएस प्रपर्टिजहरु एकबाट अर्को सेलेक्टरमा शेयरिङ्ग गरिन्छ ।
/* This CSS will print because %message-shared is extended. */
%message-shared {
border: 1px solid #ccc;
padding: 10px;
color: #333;
}
// This CSS won't print because %equal-heights is never extended.
%equal-heights {
display: flex;
flex-wrap: wrap;
}
.message {
@extend %message-shared;
}
.success {
@extend %message-shared;
border-color: green;
}
.error {
@extend %message-shared;
border-color: red;
}
.warning {
@extend %message-shared;
border-color: yellow;
}
माथीको उदारणमा शेयर गरीएका सिएसएस प्रर्पटिजहरु तल दिए अनुसारका सेलेक्टरहरुमा यसरी शेयर गरिन्छ ।
/* This CSS will print because %message-shared is extended. */
.message, .success, .error, .warning {
border: 1px solid #ccc;
padding: 10px;
color: #333;
}
.success {
border-color: green;
}
.error {
border-color: red;
}
.warning {
border-color: yellow;
}
अपरेटर
सिएसए फ्रेमवर्कहरुमा पाईन ग्रिड फिचरहरु यस्तै सास जस्तो प्रोग्रामको अपरेटर फिचर प्रयोग गरेर तयार गरिएको हुनु पर्छ ।
.container {
width: 100%;
}
article[role="main"] {
float: left;
width: 600px / 960px * 100%;
}
aside[role="complementary"] {
float: right;
width: 300px / 960px * 100%;
}
</div>
अब माथी दिइको कोडलाई सिएसएस फाईलमा कम्पाईल गर्दा यस्तो बन्छ ।
.container {
width: 100%;
}
article[role="main"] {
float: left;
width: 62.5%;
}
aside[role="complementary"] {
float: right;
width: 31.25%;
}
सास (SASS) कसरी ईन्सटल गर्ने ?
माथीको उदारण पढेर यती तपाईलाई सास उपयोगी लाग्यो भने तपाई आफ्नो आवश्यकता अनुसार सासको सहयोगले सिएसएस फाईलहरु बनाउन सक्नु हुन्छ । विन्डोज मेसिनमा सास ईन्सटल गर्नको लागि सबै भन्दा पहिले नोड जेएस ईन्सटल गर्नु पर्छ । यस भन्द अगाडीको पोष्टमा मैल नोड जेएस कसरि ईन्सटल गर्ने भन्ने उल्लेख गरेको छु । अब नोडजेस ईन्सटल गरी सकेको भए सास ईन्सटल गर्नको लागी तल दिए अनुसार गर्न सकिन्छ ।
npm install -g sass
अब माथी दिएको कुनै पनि उदारण लाई कपी गरेर .scss एक्सटेन्समा फाईल सेभ गर्नु होला । तपाईले फाईल कुन लोकेशनमा राख्नु भएको छ अनि कुन लोकेशनमा सिएसएस फाईल सेभ गर्ने हो याद गर्नु होला । अब माथी उल्लेख गरे अनुसारको सास फाईललाई सिएसए फाईल बनाउन तल दिएको कमाण्ड प्रयोग गर्नु होला ।
sass input.scss output.css
मेरो उदारणको केसमा मैले जुन लोकेशनमा बसेर काम गरी गरी रहेको थिए त्यही लोकेशनमा सास फाईल सेभ गरे अनि त्यही लोकेशनमा सिएसएस फाईल क्रियट गरेको हुँ ।