Я написал очень простой миксин 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 syntax
p {
@include rem(font-size,14px);
}
// Rendered CSS
p {
font-size: 14pxpx;
font-size: 1.4pxrem;
}
Как только Sass видит значение пикселя, переданное в уравнение, он выводит «px». Я хочу вырезать эту единицу измерения из , как если бы я использовал parseFloat или parseInt в JavaScript. Как это можно сделать в миксине Sass?