He escrito una mezcla Sass muy simple para convertir valores de píxeles en valores rem (ver Jonathan Snook's article on the benefits of using rems). Aquí está el código:¿Cómo se eliminan las unidades de medida de una ecuación Sass mixin?
// 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;
}
Este mixin funciona bastante bien, pero estoy un poco insatisfecho con la sintaxis incluir para ello. Ver, preferiría pasar un valor de píxel en la declaración de inclusión en lugar de un número simple. Este es un pequeño detalle, pero agregaría significado semántico a la declaración de inclusión que actualmente no existe. Esto es lo que me sale cuando intento pasar un valor de píxel en la instrucción de inclusión:
// Include syntax
p {
@include rem(font-size,14px);
}
// Rendered CSS
p {
font-size: 14pxpx;
font-size: 1.4pxrem;
}
Una vez Sass ve un valor de píxel que se pasa en una ecuación, se da salida a la 'px'. Quiero quitar esa unidad de medida como si estuviera usando parseFloat o parseInt en JavaScript. ¿Cómo se hace uno dentro de un mixin Sass?
Al menos Sass le permite utilizar la REM como una unidad. Less no lo reconoce y agrega un espacio entre mi tamaño y la unidad. –