這里既然是對語法的介紹,那么至於如何安裝和編譯scss我就不多少了,主要是因為本人在群里認識的小伙伴有的不會用scss,所以就借着放假的機會來對scss語法做個總結,博主在開發過程中用scss蠻多,所以對scss語法還是熟知的。
1.自定義變量
$color:pink;
.test1{
background-color:$color;
}
通過編譯工具編譯出來后
.test1{
background-color:pink;
}
注:時間原因我在這里只寫scss了,就不寫編譯后的結果,一來方便大家自己去嘗試編譯,二來增加大家對scss的理解:編譯工具kaola很好的一個編譯工具,大家可以百度如何使用,再這里就不做過多介紹了。
2.插入一個變量
$right:right;
.test2{
border-#{$right}:1px solid #000;
}
3.子元素書寫
.text3{
.text33{
border:1px solid;
}
}
4.樣式的加減乘除
$paramer:3;
.text4{
height:(1px+3px);
width: (96px/6);
right: $paramer*4;
}
5.繼承
.class5{
border:1px solid red;
}
.class5E{
@extend .class5;
font-size:20px;
}
6.代碼塊的復用
@mixin text6 {
height:50px;
left:20px;
}
.text6M{
@include text6
}
//這里的mixin就是定義一個可以復用的代碼段,當然我們也可以給它傳遞一個參數,就像這樣一樣:
@mixin text66($height){
height:$heigth;
left:20px;
}
.text6N{
@include text66(100px);
}
7.if語法,通過對if的判斷來決定使用那一套樣式
.text7{
@if 1 +2 == 3 {
border:1px solid ;
}
@if 5 < 3 {
border:2px dsahed red;
}
}
當然,我們都知道if一般是要和else配合的,所以我們也可以這樣寫
.test77{
@if lightness($color) > 30%{
background-color:#fff;
}@else{
background:#0ff;
}
}
這里的lightness是一個scss顏色函數,$color指向之前定義的值。
8.循環語法,包括最常見的三種循環方法,for,while,each
//for 循環
@for $i from 1 to 5 {
.item-#{$i} {
border:#{$i}px solid;
}
}
//while 循環
$m:8;
@while $m > 0 {
.items-#{$m} {
width:2em*$m;
}
$m:$m - 2 ;
}
//這里可以對$m進行運算 讓它每次都減去2
//each 語法
@each $img in q,w,e,r {
.#{$img} {
background-image:url('#{$img}.png')
}
}
9.函數語法
@function double ($number){
@return $number*2;
}
.text9{
font-size:double(20px);
}
10.import導入語法
@import 'other.scss'
這樣就在你現在的scss中導入了other.scss編寫的scss