CSS单位rem
在W3C规范中是这样描述rem
的:
font size of the root element.
移动端越来越多人使用rem,推荐淘宝开源框架
今天来介绍一下使用 预处理器转换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-sizepx2rem(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的同学,有福了,插件奉上