Я пытаюсь использовать LESS css, чтобы сделать следующее:
width: ((480/1366)*100)+'%';
Проблема, однако, в том, что вывод становится:
width: 35.13909224011713 '%';
Как мне сделать его работоспособным? т.е.:
width: 35.13909224011713%;
Я пытаюсь использовать LESS css, чтобы сделать следующее:
width: ((480/1366)*100)+'%';
Проблема, однако, в том, что вывод становится:
width: 35.13909224011713 '%';
Как мне сделать его работоспособным? т.е.:
width: 35.13909224011713%;
Можно использовать интерполяцию строк:
@myvar: ((480/1366)*100);
width: ~"@{myvar}%";
Это выведет
width: 35.13909224011713%;
Кроме того, если вы хотите, чтобы оно было округлено, вы можете использовать round()
.
~
, используя меньше 1.1.3, но я все равно отредактировал свой ответ с ним.
- person ldiqual; 08.08.2011
Несмотря на то, что этот вопрос довольно старый, я хочу добавить еще несколько примеров о добавлении. Меньше настроит ваши устройства на то, над чем они работают.
10px + 20px
будет выводить 30px
(20/200) * 100%
выведет 10%
Таким образом, с единицами измерения вам не нужно объединять единицу измерения.
Я обнаружил, что добавление 0 помогает, когда вы не знаете, какой может быть стоимость единицы.
.mixin(@x, @y){
@result: (@x / @y) * 100;
}
.my_class {
.mixin(20, 100);
width: @result + 0%; // you can use any unit here
}
Приведенный выше класс будет иметь ширину 20%. Если бы мы добавили px, это было бы 20px.
По какой-то причине наименее подробный и наиболее очевидный метод здесь отсутствует (на самом деле он есть в ответе Ричарда Тестани, но там ему мешает дополнительный код, ведущий в неправильном направлении). Итак... Ответ оригиналу:
width: ((480/1366)*100)+'%';
так же просто, как:
width: (480/1366*100%);
Кстати о percentage
:
это тоже помогает, но лично я бы никогда не использовал его из-за его многословия и нечитаемости. При быстром сканировании
percentage(480/1366)
читается точно так же, какpeekabooze(480/1366)
, так что вам придется остановиться и посмотреть на него, чтобы получить подсказку. В отличие от явного появления%
в480/1366*100%
(или480 / 1366 * 100%
), это делает его более заметным.