注意:
熟悉less的使用者,用Sass时请使用.scss后缀文件。
千万别用.sass后缀文件。
.sass的劣势:因为不能使用花括号,需要使用缩进来进行编辑。
.scss的优势:与less使用方法大致相同。
有关移动端$baseline-px:的设置问题:
1.iPhone5的设计图需要改写为:$baseline-px:64px
2.iPhone6的设计图需要改写为:$baseline-px:75px
3.iPhone6 plus的设计图需要改写为:$baseline-px:82.8px
//移动端方案,淘宝rem转换函数
@mixin px2rem($property, $px-values, $baseline-px:75px, $support-for-ie:false) {
//Conver the baseline into rems
$baseline-rem: $baseline-px / 1rem * 1;
//Print the first line in pixel values
@if $support-for-ie {
#{$property}: $px-values;
}
//if there is only one (numeric) value, return the property/value line for it.
@if type-of($px-values)=="number" {
#{$property}: $px-values / $baseline-rem;
}
@else {
//Create an empty list that we can dump values into
$rem-values: ();
@each $value in $px-values {
// If the value is zero or not a number, return it
@if $value==0 or type-of($value) !="number" {
$rem-values: append($rem-values, $value / $baseline-rem);
}
}
// Return the property and its list of converted values
#{$property}: $rem-values;
}
}
//移动端方案,淘宝dpr字体转换
@mixin font-dpr($font-size) {
font-size: $font-size;
[data-dpr="2"] & {
font-size: $font-size * 2;
}
[data-dpr="3"] & {
font-size: $font-size * 3;
}
}
例子:
Sass文件:
.selector {
// 使用px2rem进行px计算
@include px2rem(height, 150px);
// 使用dpr进行px计算
@include font-dpr(38px);
}
运行结果:
.selector {
height: 2rem;
font-size: 38px;
}
[data-dpr="2"] .selector {
font-size: 76px;
}
[data-dpr="3"] .selector {
font-size: 114px;
}