Я написал очень простой миксин Sass для преобразования значений пикселей в значения rem (см. Статью Джонатана Снука о преимуществах использования rems ). Вот код:
// Mixin Code
$base_font_size: 10; // 10px
@mixin rem($key,$px) {
#{$key}: #{$px}px;
#{$key}: #{$px/$base_font_size}rem;
}
// Include syntax
p {
@include rem(font-size,14);
}
// Rendered CSS
p {
font-size: 14px;
font-size: 1.4rem;
}
Этот миксин работает довольно хорошо, но я немного не удовлетворен синтаксисом include для него. Видите ли, я бы предпочел передать значение пикселя в оператор include вместо простого числа. Это небольшая деталь, но она добавит семантического значения оператору include, которого в настоящее время не существует. Вот что я получаю, когда пытаюсь передать значение пикселя в оператор include:
// Include syntax
p {
@include rem(font-size,14px);
}
// Rendered CSS
p {
font-size: 14pxpx;
font-size: 1.4pxrem;
}
Как только Sass видит, что значение пикселя передается в уравнение, он выводит «px». Я хочу убрать эту единицу измерения , как если бы я использовал parseFloat или parseInt в JavaScript. Как это сделать в миксине Sass?