diff options
Diffstat (limited to 'src/scss/function/_calc-stack.scss')
-rw-r--r-- | src/scss/function/_calc-stack.scss | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/src/scss/function/_calc-stack.scss b/src/scss/function/_calc-stack.scss index cb9f05e..c9c7b05 100644 --- a/src/scss/function/_calc-stack.scss +++ b/src/scss/function/_calc-stack.scss @@ -7,22 +7,34 @@ @use 'calc-font-size'; @use 'strip-unit'; -@function stack($line-height: 1, $font-size: 16px, $base: 16px) { - $line-height: strip-unit.strip-unit($line-height) * strip-unit.strip-unit($base); - @return $line-height / strip-unit.strip-unit($font-size) * 1rem; +@function stack($line-height: 1, $font-size: 16px, $base-size: 16px) { + @if math.unit($font-size) == '%' { + $font-size: calc-font-size.percent2px($font-size, $base-size); + } @else if math.unit($font-size) == 'em' { + $font-size: calc-font-size.em2px($font-size, $base-size); + } @else if math.unit($font-size) == 'rem' { + $font-size: calc-font-size.rem2px($font-size, $base-size); + } + + $line-height-px-unit: strip-unit.strip-unit($line-height) * strip-unit.strip-unit($font-size); + + $stack: calc-font-size.px2rem($line-height-px-unit, $base-size); + + @return $stack; } -@function line-height($line-space: 4px, $font-size: 16px, $base: 16px) { +@function line-height($line-space: 4px, $font-size: 16px, $base-size: 16px) { @if math.unit($font-size) == '%' { - $font-size: calc-font-size.percent2px($font-size, $base); + $font-size: calc-font-size.percent2px($font-size, $base-size); } @else if math.unit($font-size) == 'em' { - $font-size: calc-font-size.em2px($font-size, $base); - } @else if math.unit($font-size,) == 'rem' { - $font-size: calc-font-size.rem2px($font-size, $base); + $font-size: calc-font-size.em2px($font-size, $base-size); + } @else if math.unit($font-size) == 'rem' { + $font-size: calc-font-size.rem2px($font-size, $base-size); } $font-size: strip-unit.strip-unit($font-size); $line-space: strip-unit.strip-unit($line-space); + $line-height: math.div(($line-space * 2) + $font-size, $font-size); - @return (($line-space * 2) + $font-size) / $font-size; + @return $line-height; } |