В менее я могу создать функцию, которая преобразует точки в эм и возвращать только значениеРассчитать только значение менее
@em($target, $context: 16px) {
@return ($target/$context) * 1rem;
}
Таким образом, я могу использовать функцию как
.body {
font-size: em(22px);
padding: 0 em(10px);
}
который будет выводить
.body {
font-size: 1.375em;
padding: 0 0.625em;
}
Однако менее, единственный способ, которым я могу видеть, чтобы сделать ту же самую функцию, чтобы передать селектор в функция тоже
.em(@selector, @target, @context: 16px) {
@{selector}: unit((@target/@context), em);
}
И это нужно использовать следующим образом
.body {
.em(font-size: 22px);
}
, которые будут выводить
.body {
font-size: 1.375em;
}
Таким образом, это хорошо, если у меня есть один селектор и одно значение, но как в примере Sass выше, если мне нужно заполнить с помощью 0
и 0.675em
, то я не могу использовать функцию Less для этого.
Есть ли способ вернуть только значение из функции в Менее, как это делает Сасс, поэтому мне не нужно передавать селектор в функцию?
Короче говоря, нет, вы не можете определить «истинные» функции в Less. Таким образом, для конкретного прецедента наиболее компактный подход - это нечто подобное [https: //gist.github.com/seven-phase-max/b07ea3f9b9d0a307070f) (в зависимости от того, что вы найдете более читаемым). –
Thats excellent @ seven-phase-max - это отличное решение. Если бы вы могли создать это как ответ, я буду отмечать его как «ответ», чтобы помочь другим. –
Похоже, вам нужно познакомиться с ['rem'] (http://css-tricks.com/theres-more-to-the-css-rem-unit-than-font-sizing/) Вы выиграли Эта функция больше не нужна. : D – GolezTrol