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); } }