vw,rem布局记录

$w: 10 15 20 25 30 35 40 50 60 75 100;
@each $value in $w {
    .w-p-#{$value} {
        width: 100% * $value / 100;
    }
}

  

@function px2rem($value, $defaultFontSize: 16) {
    @return ($value / $defaultFontSize) * 1rem;
}

$spacings: 5 10 15 20 25 30 40 50 60 100;
@each $value in $spacings {
    .pl-#{$value} {
        padding-left: px2rem($value);
    }
    .pr-#{$value} {
        padding-right: px2rem($value);
    }
    .pt-#{$value} {
        padding-top: px2rem($value);
    }
    .pb-#{$value} {
        padding-bottom: px2rem($value);
    }
    .p-#{$value} {
        padding: px2rem($value);
    }

    .ml-#{$value} {
        margin-left: px2rem($value);
    }
    .mr-#{$value} {
        margin-right: px2rem($value);
    }
    .mt-#{$value} {
        margin-top: px2rem($value);
    }
    .mb-#{$value} {
        margin-bottom: px2rem($value);
    }
    .m-#{$value} {
        margin: px2rem($value);
    }
}

  

html {
    font-size: 16px;
}

@media screen and (min-width: 375px) {
    html {
        font-size: calc(100% + 2 * (100vw - 375px) / 39);
        font-size: calc(16px + 2 * (100vw - 375px) / 39);
    }
}
@media screen and (min-width: 414px) {
    html {
        font-size: calc(112.5% + 4 * (100vw - 414px) / 586);
        font-size: calc(18px + 4 * (100vw - 414px) / 586);
    }
}
@media screen and (min-width: 600px) {
    html {
        font-size: calc(125% + 4 * (100vw - 600px) / 400);
        font-size: calc(20px + 4 * (100vw - 600px) / 400);
    }
}
@media screen and (min-width: 1000px) {
    html {
        font-size: calc(137.5% + 6 * (100vw - 1000px) / 1000);
        font-size: calc(22px + 6 * (100vw - 1000px) / 1000);
    }
}

  

posted @ 2019-06-27 16:25  南侠书生  阅读(236)  评论(0编辑  收藏  举报