sass與less的區別?Stylus又是啥?

2022-03-23 18:48:48 字數 3147 閱讀 8088

less、sass 和 stylus是比較流行的css預處理器,功能都差不多,寫法相差也不大(但是也有差別),使用都非常簡單,stylus是沒有大括號({})和分號(;)less、sass 和 stylus;scss 是 sass 3 引入新的語法,其語法完全相容 css3,並且繼承了 sass 的強大功能。1、基本語法;2、巢狀語法;3、變數;4、@import;5、函式**或參考:sass與less的區別?stylus又是啥?

現在寫樣式大家基本上都會用上css預處理器,而比較流行的預處理器就是這三位老哥了lesssassstylus

在這之前,我們先了解一點,sass和scss有什麼區別?

scss 是 sass 3 引入新的語法,其語法完全相容 css3,並且繼承了 sass 的強大功能。

scss 和 sass 其實是同一種東西,我們平時都稱之為 sass,兩者之間不同之處有以下兩點:

1、副檔名不同,sass 是以「.sass」字尾為副檔名,而 scss 是以「.scss」字尾為副檔名

2、語法書寫方式不同,sass 是以嚴格的縮排式語法規則來書寫,不帶大括號({})和分號(;),而 scss 的語法書寫和我們的 css 語法書寫方式非常類似。

後面的 sass **會用被更多人接受的 scss 風格給出;

ok,準備就緒,我們今天就從以下幾點說說它們的區別,當然我們今天只說了一些比較常用的功能,它們本身是有著極其豐富的擴充套件特性:

一、基本語法

less & scss:

.div

stylus:

.div

color: #000

區別:less和scss沒有區別,stylus則是沒有大括號({})和分號(;);

二、巢狀語法

less & scss:

.box }

stylus:

.box 

&.item

color: #000

區別:三者的巢狀語法都是一致的,甚至連引用父級選擇器的標記&也相同。區別也只是大括號({})和分號(;);

三、變數

less:

@pink: #ffb6c1;

.div

sass:

$pink: #ffb6c1;

.div

stylus:

pink = #ffb6c1;

.div

color: pink;

區別:變數的設定和引用都很明顯;

四、@import

less:

@import (option) filename;
optional:
reference: 使用該less檔案但是不輸出它

inline: 包括在原始檔中輸出,但是不作處理

less: 將該檔案視為less檔案,無論其副檔名為什麼

css: 將檔案視為css檔案,無論副檔名為什麼

once: 該檔案僅可匯入一次 (預設)

multiple: 該檔案可以多次匯入

optional: 當沒有發現檔案時仍然編譯

sass:

@import  filename;

stylus:

@import  filename;

區別:三者形式上基本都沒有太大區別,less多了選項,但是處理行為上卻有一些不同。

less擴充套件了原生的@import的語法,如果檔案是.css的副檔名,將處理為css和@import語句保持原樣,如果為其他的擴充套件名將處理為less匯入;

stylus與less類似,當使用@import沒有.css擴充套件,會被認為是stylus片段;

sass則有點不同,它沒有擴充套件語法,而是自己推斷引入的方式,規則如下:

預設情況下,它會尋找 sass 檔案並直接引入, 但是,在少數幾種情況下,它會被編譯成 css 的@import規則:

如果上述情況都沒有出現,並且副檔名是.scss.sass, 該名稱的 sass 或 scss 檔案就會被引入。 如果沒有副檔名, sass 將試著找出具有 .scss 或 .sass 副檔名的同名檔案並將其引入。

五、函式

less:

.border-radius(@radius: 5px) .box

sass:

@mixin border-radius .page-title 

//含引數

@function widthfn($n) .leng

stylus:

golden-ratio(n)

n * 0.618

.golden-box

width: 200px

height: golden-ratio(@width)

區別:sass區別較大,需要顯示的使用關鍵字去呼叫,且非mixin時,需要return返回值;

敲黑板時間到:

我們今天說的只是一些平時比較常用的功能,且簡單組合的方式,在樣式預處理器這塊,還有很大的內容需要大家去逐步了解;

less與sass的區別點

less與sass 相同點 1,兩者都作為css擴充套件技術,也都,基於css的高階預處理語言之上。2,都有的優點 簡化 降低維護成本。3,都必須要避免中文環境,所涉及到的所有目錄,標題以及內容,不能有中文。區別點 1,變數符號不同 less是 sass是 2,編譯條件不一樣 less是需要解析器,...

less和sass的使用區別

首先我們來說一下less。less中的變數 1.宣告變數使用 變數名 變數值 2.使用變數 變數名 less中的變數型別 數字類 1 10px 字串 無引號字串 red 和有引號字串 gdak 顏色類 red 000000 rgb 值列表型別,用逗號或空格分隔 變數使用原則 多次頻繁出現的值 需要修...

sass與less對比學習

sass基於ruby語言開發,因此在開發之前必須安裝ruby less只需引入 less 檔案即可開發 sass以 定義變數 less是以 定義變數 sass color fff p less color fff p sass 定義 mixin border bg color bg color 呼叫...