SASS #2
نویسنده: وحید محمدطاهری
تاریخ: ۱۳۹۴/۱۱/۰۵ ۱:۴۰
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
متغیرها در SASS با استفاده از $ در ابتدای نام آن، به عنوان یک مقدار مورد استفادهی در CSS تعریف میشوند. شما در SASS میتوانید متغیرهایی را برای margin ،font-size و یا padding و غیره، تعریف کنید. استفاده از متغیرها این امکان را به شما میدهد که خیلی راحتتر از styleهای تعریف شده، مجدد استفاده کنید.
شما 6 نوع مختلف متغیر را میتوانید با استفاده از SASS بکار ببرید.
برای مثالی از استفادهی از این متغیرها، یک فایل را با نام styles.scss ایجاد کرده و کدهای زیر را در آن وارد کنید:
$myColor: #FFF726;
$myBackColor: #2B14FF;
$myString: "I Love ";
$myFontSize: 13px;
$myMargin: 0px auto;
$myWidth: 300px;
h1 {
color: $myColor;
margin: 0;
padding: 0;
}
h1:before{
content: $myString;
}
#container {
width: $myWidth;
margin: $myMargin;
background-color:$myBackColor;
text-align:center;
}
برخلاف SASS ،CSS به ما امکان استفاده از عبارات ریاضی را میدهد. عملگرهای جمع + ، تفریق - ، تقسیم / ، ضرب * ، باقیمانده % ، مساوی == ، نامساوی =! را SASS پشتیبانی میکند. در هنگام استفاده از عبارات ریاضی چند نکته وجود دارد که باید رعایت کنید:
نکته1: چون علامت / در CSS به عنوان یک کوتاه کننده استفاده میشود مانند font: 14px/16px، در صورتیکه بخواهید عمل تقسیم را بر روی مقدار ثابتی انجام دهید باید آنها را درون پرانتر قرار دهید.
$fontDiff: (14px/16px);
$container-width: 100% - 20px;
$container-width: 100%;
.container {
width: $container-width;
}
.col-4 {
width: $container-width / 4;
} .container {
width: 100%;
}
.col-4 {
width: 25%;
} darken(hsl(25, 100%, 80%), 30%) => hsl(25, 100%, 50%) darken(#800, 20%) => #200
lighten(hsl(0, 0%, 0%), 30%) => hsl(0, 0, 30) lighten(#800, 20%) => #e00
mix(#f00, #00f) => #7f007f mix(#f00, #00f, 25%) => #3f00bf mix(rgba(255, 0, 0, 0.5), #00f) => rgba(63, 0, 191, 0.75)
SASS امکان تعریف استایلهای تو در تو را به شما میدهد که باعث خواناتر شدن استایلهای نوشته شده میشود. به عنوان مثال به کد CSS زیر توجه کنید:
#container {
width: 500px;
margin: 0 auto;
}
#container p {
font-family: Arial;
font-size: 13px;
}
#container h1 {
font-family: Tahoma;
font-size: 15px;
}
#container h2 {
font-family: Helvetica;
font-size: 14px;
} $myFontsize1: 13px;
$myFontsize2: 18px;
$myFontsize3: 25px;
$myWidth: 500px;
$myMargin: 0px auto;
#container {
width: $myWidth;
margin: $myMargin;
p {
font-family: Arial;
font-size: $myFontsize1;
}
h1 {
font-family: Tahoma;
font-size: $myFontsize3;
}
h2 {
font-family: Helvetica;
font-size: $myFontsize2;
}
} a.myAnchor {
color: blue;
&:hover {
text-decoration: underline;
}
&:visited {
color: purple;
}
} at-root@ قبل استایلی که میخواهید به صورت تو در تو تعریف نشود، استفاده کنید..first-component {
.text { font-size: 1.4em; }
.button { font-size: 1.7em; }
.second-component {
.text { font-size: 1.2em; }
.button { font-size: 1.4em; }
}
} .first-component .text {
font-size: 1.4em;
}
.first-component .button {
font-size: 1.7em;
}
.first-component .second-component .text {
font-size: 1.2em;
}
.first-component .second-component .button {
font-size: 1.4em;
} at-root@ به صورت زیر میشود:.first-component .text {
font-size: 1.4em;
}
.first-component .button {
font-size: 1.7em;
}
.second-component .text {
font-size: 1.2em;
}
.second-component .button {
font-size: 1.4em;
}