У меня такой код:
@color : #d14836;
.stripes span {
-webkit-background-size: 30px 30px;
-moz-background-size: 30px 30px;
background-size: 30px 30px;
background-image: -webkit-gradient(linear, left top, right bottom,
color-stop(.25, rgba(209, 72, 54, 1)), color-stop(.25, transparent),
color-stop(.5, transparent), color-stop(.5, rgba(209, 72, 54, 1)),
color-stop(.75, rgba(209, 72, 54, 1)), color-stop(.75, transparent),
to(transparent));
Мне нужно преобразовать @color
в rgba(209, 72, 54, 1)
.
Поэтому мне нужно заменить rgba(209, 72, 54, 1)
в моем коде функцию Less, которая генерирует rgba()
значение из моей @color
переменной.
Как я могу сделать это с помощью Less?
Ответы:
На самом деле язык Less поставляется со встроенной функцией, называемой
fade
. Вы передаете объект цвета и абсолютную непрозрачность% (более высокое значение означает менее прозрачную):источник
50%
и прозрачность, и непрозрачность. :)Если вам не нужен альфа-ключ, вы можете просто использовать шестнадцатеричное представление цвета. Цвет rgba с альфа-каналом, равным 1, совпадает с шестнадцатеричным значением.
Вот несколько примеров, демонстрирующих это:
Протестируйте этот код в Интернете: http://lesstester.com/
источник
error evaluating function 'red': Cannot read property '0' of undefined
@colorGold: color('#C6AF87'); .box { background-color: rgba(red(@colorGold),green(@colorGold),blue(@colorGold),0.3); }
Ошибка - Не удалось скомпилировать файл CSS (screen.less): цвет, ожидаемый для red (): не удалось на `background-color: rgba ( красный (@colorGold), зеленый (@colorGold), голубой (@colorGold), 0.3);@colorGold: #C6AF87;
My Less mixin:
Попытайся.
EDITED: как видно на фоне rgba с альтернативой фильтра IE: IE9 отображает оба! , Я добавил несколько строк в миксин.
источник
Похоже, что с недавним обновлением Less 3.81 вы можете использовать только два аргумента в функции rgba ().
У меня это работает, но я не могу найти его в официальной документации .
источник