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
|
||||
// Leave <body> at 100%/16px
|
||||
// ---------------------------------------
|
||||
@mixin font-size($font-size: 16) {
|
||||
$rem: decimal-round(($font-size / 16), 3);
|
||||
@function calculate-rem($size) {
|
||||
$rem: $size / 16;
|
||||
@return #{$rem}rem;
|
||||
}
|
||||
|
||||
font-size: ($font-size * 1px);
|
||||
font-size: '#{$rem}rem';
|
||||
@mixin font-size($size: 16) {
|
||||
font-size: $size * 1px; // Fallback in px
|
||||
font-size: calculate-rem($size);
|
||||
}
|
||||
|
||||
// Font smoothing
|
||||
|
Loading…
x
Reference in New Issue
Block a user