Попробуйте это:
background: @color - rgba(0, 0, 0, 1.0) + rgba(0, 0, 0, @alpha);
Вычитание очистит альфа-канал на @color
, затем вы просто добавите желаемый @alpha
к альфа-каналу. Цвета имеют полный набор операторов, и они работают компонент за компонентом при работе с двумя цветами; цвета хранятся как компоненты RGBA внутри, так что это должно работать. Кроме того, альфа-канал нормализован, чтобы быть в интервале [0, 1.0]
, поэтому вычитание 1,0 из альфа-канала должно очистить его без каких-либо проблем.
У меня сейчас нет CSS LESS, поэтому я не могу проверить, но это стоит попробовать.