美文网首页
移动端快速开发H5页面,淘宝方案flexble,Sass混合宏,

移动端快速开发H5页面,淘宝方案flexble,Sass混合宏,

作者: 战神飘雪 | 来源:发表于2017-10-16 18:33 被阅读62次

    注意:
    熟悉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;
    }

    相关文章

      网友评论

          本文标题:移动端快速开发H5页面,淘宝方案flexble,Sass混合宏,

          本文链接:https://www.haomeiwen.com/subject/uyrluxtx.html