Fix for rounding
This commit is contained in:
parent
6864149989
commit
6bc3592381
2
demo/dist/demo.css
vendored
2
demo/dist/demo.css
vendored
File diff suppressed because one or more lines are too long
@ -1,79 +0,0 @@
|
|||||||
// _decimal.scss | MIT License | gist.github.com/terkel/4373420
|
|
||||||
|
|
||||||
// Round a number to specified digits.
|
|
||||||
//
|
|
||||||
// @param {Number} $number A number to round
|
|
||||||
// @param {Number} [$digits:0] Digits to output
|
|
||||||
// @param {String} [$mode:round] (round|ceil|floor) How to round a number
|
|
||||||
// @return {Number} A rounded number
|
|
||||||
// @example
|
|
||||||
// decimal-round(0.333) => 0
|
|
||||||
// decimal-round(0.333, 1) => 0.3
|
|
||||||
// decimal-round(0.333, 2) => 0.33
|
|
||||||
// decimal-round(0.666) => 1
|
|
||||||
// decimal-round(0.666, 1) => 0.7
|
|
||||||
// decimal-round(0.666, 2) => 0.67
|
|
||||||
//
|
|
||||||
@function decimal-round ($number, $digits: 0, $mode: round) {
|
|
||||||
$n: 1;
|
|
||||||
// $number must be a number
|
|
||||||
@if type-of($number) != number {
|
|
||||||
@warn '#{ $number } is not a number.';
|
|
||||||
@return $number;
|
|
||||||
}
|
|
||||||
// $digits must be a unitless number
|
|
||||||
@if type-of($digits) != number {
|
|
||||||
@warn '#{ $digits } is not a number.';
|
|
||||||
@return $number;
|
|
||||||
} @else if not unitless($digits) {
|
|
||||||
@warn '#{ $digits } has a unit.';
|
|
||||||
@return $number;
|
|
||||||
}
|
|
||||||
@for $i from 1 through $digits {
|
|
||||||
$n: $n * 10;
|
|
||||||
}
|
|
||||||
@if $mode == round {
|
|
||||||
@return round($number * $n) / $n;
|
|
||||||
} @else if $mode == ceil {
|
|
||||||
@return ceil($number * $n) / $n;
|
|
||||||
} @else if $mode == floor {
|
|
||||||
@return floor($number * $n) / $n;
|
|
||||||
} @else {
|
|
||||||
@warn '#{ $mode } is undefined keyword.';
|
|
||||||
@return $number;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ceil a number to specified digits.
|
|
||||||
//
|
|
||||||
// @param {Number} $number A number to round
|
|
||||||
// @param {Number} [$digits:0] Digits to output
|
|
||||||
// @return {Number} A ceiled number
|
|
||||||
// @example
|
|
||||||
// decimal-ceil(0.333) => 1
|
|
||||||
// decimal-ceil(0.333, 1) => 0.4
|
|
||||||
// decimal-ceil(0.333, 2) => 0.34
|
|
||||||
// decimal-ceil(0.666) => 1
|
|
||||||
// decimal-ceil(0.666, 1) => 0.7
|
|
||||||
// decimal-ceil(0.666, 2) => 0.67
|
|
||||||
//
|
|
||||||
@function decimal-ceil ($number, $digits: 0) {
|
|
||||||
@return decimal-round($number, $digits, ceil);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Floor a number to specified digits.
|
|
||||||
//
|
|
||||||
// @param {Number} $number A number to round
|
|
||||||
// @param {Number} [$digits:0] Digits to output
|
|
||||||
// @return {Number} A floored number
|
|
||||||
// @example
|
|
||||||
// decimal-floor(0.333) => 0
|
|
||||||
// decimal-floor(0.333, 1) => 0.3
|
|
||||||
// decimal-floor(0.333, 2) => 0.33
|
|
||||||
// decimal-floor(0.666) => 0
|
|
||||||
// decimal-floor(0.666, 1) => 0.6
|
|
||||||
// decimal-floor(0.666, 2) => 0.66
|
|
||||||
//
|
|
||||||
@function decimal-floor ($number, $digits: 0) {
|
|
||||||
@return decimal-round($number, $digits, floor);
|
|
||||||
}
|
|
@ -31,11 +31,14 @@
|
|||||||
// Use rems for font sizing
|
// Use rems for font sizing
|
||||||
// Leave <body> at 100%/16px
|
// Leave <body> at 100%/16px
|
||||||
// ---------------------------------------
|
// ---------------------------------------
|
||||||
@mixin font-size($font-size: 16) {
|
@function calculate-rem($size) {
|
||||||
$rem: decimal-round(($font-size / 16), 3);
|
$rem: $size / 16;
|
||||||
|
@return #{$rem}rem;
|
||||||
|
}
|
||||||
|
|
||||||
font-size: ($font-size * 1px);
|
@mixin font-size($size: 16) {
|
||||||
font-size: '#{$rem}rem';
|
font-size: $size * 1px; // Fallback in px
|
||||||
|
font-size: calculate-rem($size);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Font smoothing
|
// Font smoothing
|
||||||
|
Loading…
x
Reference in New Issue
Block a user