После обнаружения того, что у Сасса нет экспоненциальных способностей, я решил создать свою собственную функцию pow(). Это моя неудачная попытка:Экспоненциальность в Sass
@function pow($x,$p) {
$u: unit($x);
$x: $x/1#{$u};
$p: round($p);
@if $p == 0 {
@return 0;
} @else if $p == 1 {
@return $x;
} @else {
@for $i from 1 through abs($p) {
$x: $x * $x;
}
}
@if $p < 0 {
$x: 1/$x;
}
@return $x + $u;
}
Часть, за которой я застреваю, снимает блоки. Я знаю, что 12px/1px = 12
, но в моем случае устройство неизвестно, а 12px/1#{unit(12px)}
не работает, потому что оно равно "12px/1px"
(да, с кавычками). Функция unquote
, похоже, не работает для меня, я не знаю, почему.
В случае, если вам интересно, причина, по которой я хочу разделить единицы (и вернуть их в конце), связана с тем, что 12px * 12px = 144px*px
.
Но тогда каждый, кто хочет использовать мои Примеси, которые используют 'Pow()' придется обезьяна патч Sass ... – silvenon
Так сделайте это как драгоценный камень. – Hauleth
Это отличная идея :) – silvenon