css預處理語言less和sass

常見的css預處理器語言有:less,sass,stylus等語言

一、less環境的構建(官網)

 1.安裝node,安裝之後敲命令

                   npm install -g less
      > lessc styles.less styles.css

2.在瀏覽器環境中使用 Less :

      <link rel="stylesheet/less" type="text/css" href="styles.less" />
      <script src="//cdnjs.cloudflare.com/ajax/libs/less.js/3.10.0-beta/less.min.js" ></script>

這裏需要注意:(測試了好久才弄出來)在瀏覽器環境中使用less必須在線上的環境,否則less是沒有效果的。

二、less語法學習

變量可以給css的屬性設置變量:

#box{

    @h-200:200px;
    @w-300:300px;
    @red:red;
    width:@w-300;
    height:@h-200;
}

將一組樣式嵌入到另一組樣式裏:

.style{
    border-radius:50%;
    color:#ccc;
}

#box{
    height:20px;
    width:200px;
    .style();
}

帶參數使用:

.clac(@width,@height){
    width:@width;
    height:@height;
    color:#ff0;
}

#box{
    .clac(200px,200px);
}

嵌套:這裏的嵌套和sass語法是一樣的效果。

#box{

    height:20px;

    #wrap{
        color:#ccc;
    }
}

避免編譯:這裏less不認識css的語法所以要加`這個符號不進行編譯。

.box{
    width:`"clac(100%-200px)"
}

映射:

#colors() {
  primary: blue;
  secondary: green;
}

.button {
  color: #colors[primary];
  border: 1px solid #colors[secondary];
}

導入其他的less文件在less文件中

@import "library"; // library.less
@import "typo.css";

這兩種形式都可以。

三、sass的環境搭建

sass不管採用什麼方式使用,都離不開ruby的環境,所以首先第一步就是安裝ruby(https://rubyinstaller.org/downloads/)

安裝最好是新一點的版本,安裝完成後在命令行輸入ruby -v;出現版本號安裝完成這樣環境就算搭建完成,然後安裝sass和compass,安裝完成輸入sass -v 這樣sass就安裝完成了。

gem install sass
gem install compass

如果要將sass引入項目中,首先要將scss文件編譯成css文件

在命令行輸入(這種方式是監聽文件的改變)  

sass --watch style.scss:style.css

將編譯後的css文件引入頁面中

四、sass語法

1.變量的寫法:不同於less使用 @ 來標識變量sass使用 $

$w:20px;
#box{
    width:$w;
}

2.sass的指令:

@import

導入其他的sass文件

import "mysass.sass";
或者是
import "mysass";

import還可以導入樣式,和嵌套功能差不多例如:

.border{
    border:1px solid #ccc;
}

#box{
    import "border";
}

3.屬性嵌套:

.fon{
    font:20px{
        family:'微軟雅黑';
        weight:bold;

    }
}

編譯之後

.font{
    font:20px;
    font-family:微軟雅黑';
    font-weight:bold;
}

............

五、less和sass的對比:

相同點:

1、都是css的預處理語言

2、都可以將一類屬性引入到另一個選擇器中

3.可以像函數一樣傳遞參數

4、css裏面的顏色,長度等的計算

5、命名空間將樣式分組

6、局部作用域

7、js表達式

不同點:

1、sass要在ruby的環境纔可以,less只是需要的是一個js文件和引入less文件,當然less也可以先使用node進行編譯,之後再引入到頁面中

2.變量的表達不同:less是使用$,sass使用的是@

3、sass是基於服務器端處理的,而less是客戶端處理的

4.sass是可以進行輸出的(4種編譯排版模式nested,expanded,compact,compressed),而less不可以

5、sass是可以支持條件語句的

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章