less和sass的使用區別

2021-08-03 03:47:30 字數 2173 閱讀 4491

首先我們來說一下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...