text px rem和rem到px SASS功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了text px rem和rem到px SASS功能相关的知识,希望对你有一定的参考价值。

$rem-baseline: 16px !default
$rem-fallback: false !default
$rem-px-only: false !default

@function rem-separator($list, $separator: false)
  @if $separator == "comma" or $separator == "space"
    @return append($list, null, $separator)

  @if function-exists("list-separator") == true
    @return list-separator($list)

  // list-separator polyfill by Hugo Giraudel (https://sass-compatibility.github.io/#list_separator_function)
  $test-list: ()

  @each $item in $list
    $test-list: append($test-list, $item, space)

  @return if($test-list == $list, space, comma)

=rem-baseline($zoom: 100%)
  font-size: $zoom / 16px * $rem-baseline

@function rem-convert($to, $values...)
  $result: ()
  $separator: rem-separator($values)

  @each $value in $values
    @if type-of($value) == "number" and unit($value) == "rem" and $to == "px"
      $result: append($result, $value / 1rem * $rem-baseline, $separator)
    @else if type-of($value) == "number" and unit($value) == "px" and $to == "rem"
      $result: append($result, $value / $rem-baseline * 1rem, $separator)
    @else if type-of($value) == "list"
      $value-separator: rem-separator($value)
      $value: rem-convert($to, $value...)
      $value: rem-separator($value, $value-separator)
      $result: append($result, $value, $separator)
    @else
      $result: append($result, $value, $separator)

  @return if(length($result) == 1, nth($result, 1), $result)

@function rem($values...)
  @if $rem-px-only
    @return rem-convert(px, $values...)
  @else
    @return rem-convert(rem, $values...)

=rem($properties, $values...)
  @if type-of($properties) == "map"
    @each $property in map-keys($properties)
      +rem($property, map-get($properties, $property))
  @else
    @each $property in $properties
      @if $rem-fallback or $rem-px-only
        #{$property}: rem-convert(px, $values...)

      @if not $rem-px-only
        #{$property}: rem-convert(rem, $values...)

以上是关于text px rem和rem到px SASS功能的主要内容,如果未能解决你的问题,请参考以下文章

scss 用于REM和PX的SASS Mixin

sass中px转rem单位

淘宝适配方案px2rem在Vue+Sass和React+Less中的使用

淘宝适配方案px2rem在Vue+Sass和React+Less中的使用

scss 基于行高的基线网格SASS mixin,支持rem和px。显示在页面内容上方。按W切换

scss 基于行高的基线网格SASS mixin,支持rem和px。显示在页面内容上方。按W切换