首先我們來說一下less。
【less中的變數】
1.宣告變數使用 @變數名:變數值;
2.使用變數 @變數名
less中的變數型別:
①數字類 1 10px ②字串:無引號字串 red 和有引號字串"gdak"
③顏色類 red #000000 rgb()
④值列表型別,用逗號或空格分隔
變數使用原則 :
多次頻繁出現的值、需要修改的值設為變數
3.混合(mixins)
①無參混和宣告 :.name{} 呼叫:選擇器中呼叫
②帶參混合
無預設值宣告: .name(@param){} 呼叫:.name(parvalue); parvalue不可以省略
有預設值宣告: .name(param:value()){} 呼叫:name(parvalue); parvalue可以省略
無參混合會在css中編譯同名的class選擇器;有參的不會
4.less的匹配模式
使用混合進行匹配,類似於if結構:
宣告.name(條件一,引數){}
.name(條件二,引數){}
.name(@_,引數){}
呼叫: .name(條件值,引數值);
匹配規則:根據呼叫時提供的條件值,去尋找與之匹配的mixin執行,其中@_表示永遠需要執行的部分
5.less中的運算
*+-/可帶單位可不帶
顏色運算時,紅綠藍分三組計算,組內可進製,組間互不干涉。
6.less中的巢狀:保留html中的**結構,
巢狀預設後代選擇器,如果需要子代選擇器,則在子代前面加》
sectionul}
}}
下面是sass
1. sass中的變數
使用 $變數名:變數值 宣告變數
如果變數名需要在字串中巢狀,則需使用#加大括號包裹:
2.sass中的運算會將單位也進行運算,使用時需注意最終單位:
例:10px*10px=100px*px
3.sass中的巢狀: 選擇器的巢狀 屬性巢狀 偽類巢狀
選擇器的巢狀 ul}後代
ul}子代
&表示上一層 div}}
屬性巢狀 :屬性名與大括號之間必須有: 例如boder:
偽類巢狀: ul}}
4. 混合巨集、繼承、佔位符
①混合巨集:宣告@mixin name($param:value){}
呼叫:@include name(value)
》宣告時,可以有參可以無參;可帶預設值,但呼叫必須符合生命規範
>>優點:可以傳參,不會生成同名class
>>缺點:會將混合巨集的**copy到對於那個的選擇器中
②繼承: 宣告: .class{} 呼叫: @extend .class
>>優點:繼承的相同**會提取到並集選擇器中,減少冗餘**,
>>缺點:無法進行傳參,會在css中生成乙個同名class
③佔位符:宣告:%class{} 呼叫: @extend %class
>>優點:繼承相同**,會提到並集選擇器,不會生成同名的class選擇器;
>>缺點:無法進行傳參
綜上所述:當要傳遞引數時用混合巨集,當有現成class時用繼承,不須引數不需class時候用佔位符
5.if條件結構:
@if 條件{}
@else 條件{}
6.for迴圈結構
@for $i from 1to 10{} 不含十;
@for $i from 1through 10{} 含十;
7.while迴圈結構
$j:1;
@while $j<10px solid red;
$j:$j+1;
8.each迴圈遍歷
@each item ina,b,c,d{
//item 表示每一項
9、函式:
@functionfunc($length){
$length:$length*5;
@return $length;
呼叫:func(10px);
相信都能看出sass與less的不同了,定義變數less用的是@符,sass用的是$符當然,sass可以用if條件結構,迴圈結構,定義函式比less高大上了許多。所以一般還是用sass來寫,以備以後不時之需
Less和Sass的用法及區別
1 less為css的擴充套件技術,可向下相容css,新增特性也使用css語法。2 less與sass使用均需先宣告,再使用,less格式為.less,sass格式為.sass和.scss 常用 3 分類 1 變數 less 名稱 值 使用 選擇器 sass 名稱 值 使用 選擇器 2 混合固定值 ...
less與sass的區別點
less與sass 相同點 1,兩者都作為css擴充套件技術,也都,基於css的高階預處理語言之上。2,都有的優點 簡化 降低維護成本。3,都必須要避免中文環境,所涉及到的所有目錄,標題以及內容,不能有中文。區別點 1,變數符號不同 less是 sass是 2,編譯條件不一樣 less是需要解析器,...
sass與less的區別?Stylus又是啥?
less sass 和 stylus是比較流行的css預處理器,功能都差不多,寫法相差也不大 但是也有差別 使用都非常簡單,stylus是沒有大括號 和分號 less sass 和 stylus scss 是 sass 3 引入新的語法,其語法完全相容 css3,並且繼承了 sass 的強大功能。1...