Оказывается, меньше встроенных функций hsla (см. меньше цветовых функций ). Итак, с некоторой помощью, вот что мы обнаружили:
@dkblue: #11374c;
.colorize_bg(@color: @white, @alpha: 1) {
background: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);}
Затем используйте миксин:
section {.colorize_bg(@dkblue,1);}
Таким образом, мы передаем переменную цвета @dkblue
и менее ', например hue(@color)
, принимаем @dkblue
и извлекаем значения оттенков, насыщенности и яркости. Затем мы можем передать альфа, который мы определили в этом миксине.
Тогда я могу использовать его другими способами, например, для определения прозрачных границ. Добавляя background-clip: padding-box;
к .colorize_bg
, я гарантирую, что мои границы будут отображаться за пределами цвета окна bg (не волшебно ли CSS3?) Затем я могу переопределить миксин для работы с цветом границы:
.colorize_border(@color: @white, @alpha: 1) {border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);}
, а затем задайте section
ширину границы, стиль и определите цвет с помощью mixin:
section {border-width: 0 10px; border-style: solid; .colorize_border(@dkblue, .5);
И вы получите волшебные, блестящие прозрачные границы, например: http://i.stack.imgur.com/4jSKR.png