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的
//定义一个变量和一个mixin
@baseFontSize: 75;//基于视觉稿横屏尺寸/100得出的基准font-size
.px2rem(@name, @px){
@{name}: @px / @baseFontSize * 1rem;
} //使用示例:
.container {
.px2rem(height, 240);
} //less翻译结果:
.container {
height: 3.2rem;
}
最后是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