diff --git a/scss/_functions.scss b/scss/_functions.scss index 90296586b3..fcfb6ae4dd 100644 --- a/scss/_functions.scss +++ b/scss/_functions.scss @@ -260,9 +260,11 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 } @function divide($dividend, $divisor, $precision: 10) { + $dividend-unit: unit($dividend); + $divisor-unit: unit($divisor); $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1); - $dividend: abs($dividend); - $divisor: abs($divisor); + $dividend: if($dividend-unit == "%", abs(calc($dividend / 1%)), abs($dividend)); + $divisor: if($divisor-unit == "%", abs(calc($divisor / 1%)), abs($divisor)); @if $dividend == 0 { @return 0; } @@ -287,8 +289,6 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 } } $result: $result * $factor * $sign; - $dividend-unit: unit($dividend); - $divisor-unit: unit($divisor); $unit-map: ( "px": 1px, "rem": 1rem, diff --git a/scss/vendor/_rfs.scss b/scss/vendor/_rfs.scss index aa1f82b961..61de7e4772 100644 --- a/scss/vendor/_rfs.scss +++ b/scss/vendor/_rfs.scss @@ -53,9 +53,11 @@ $enable-rfs: true !default; $rfs-base-value-unit: unit($rfs-base-value); @function divide($dividend, $divisor, $precision: 10) { + $dividend-unit: unit($dividend); + $divisor-unit: unit($divisor); $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1); - $dividend: abs($dividend); - $divisor: abs($divisor); + $dividend: if($dividend-unit == "%", abs(calc($dividend / 1%)), abs($dividend)); + $divisor: if($divisor-unit == "%", abs(calc($divisor / 1%)), abs($divisor)); @if $dividend == 0 { @return 0; } @@ -80,8 +82,6 @@ $rfs-base-value-unit: unit($rfs-base-value); } } $result: $result * $factor * $sign; - $dividend-unit: unit($dividend); - $divisor-unit: unit($divisor); $unit-map: ( "px": 1px, "rem": 1rem,