1. 程式人生 > >less,sass,stylus三種前處理器px2rem

less,sass,stylus三種前處理器px2rem

CSS單位rem

在W3C規範中是這樣描述rem的:

font size of the root element.

移動端越來越多人使用rem,推薦淘寶開源框架lib-flexible

今天來介紹一下使用 前處理器轉換px單位到rem

首先是sass的

複製程式碼

//定義一個變數和一個mixin
$baseFontSize: 16;//預設基準font-size
@mixin px2rem($name, $px){
  #{$name}: $px / $baseFontSize * 1rem;
}

// 使用示例:
 .container {
   @include px2rem(height, 240);
 }

//  scss翻譯結果:
  .container {
    height: 3.2rem;
  }

複製程式碼

再來一個less的

複製程式碼

 1 //定義一個變數和一個mixin
 2 @baseFontSize: 75;//基於視覺稿橫屏尺寸/100得出的基準font-size
 3 .px2rem(@name, @px){
 4     @{name}: @px / @baseFontSize * 1rem;
 5 }
 6 
 7 //使用示例:
 8 .container {
 9     .px2rem(height, 240);
10 }
11 
12 //less翻譯結果:
13 .container {
14     height: 3.2rem;
15 }

複製程式碼

最後是stylus的

複製程式碼

//定義一個變數和一個mixin
$baseFontSize = 16; //預設基準font-size
px2rem(name, px){
{name}: px / $baseFontSize * 1rem;
}

// 使用示例:
.container {
  px2rem('height', 240);
}

//  stylus翻譯結果:
.container {
  height: 3.2rem;
}

複製程式碼

最後,建議將mixin放入單獨資料夾下,例如webpack中的common

之後使用只需要在style中引入,以scss為例

@import "../common/scss/mixin.scss";

  .all {
    @include px2rem(padding, 32);
  }

翻譯

如果,你是用Sublime Text3的同學,有福了,外掛奉上cssrem

轉載於:https://www.cnblogs.com/shahramLu/p/6408551.html