Я новичок в Sass и борюсь с этим. Я не могу получить цвет для рендеринга как в hex
(для IE), так и в rgba
. Каждый маленький кусочек меня расстраивает, потому что я еще не освоил синтаксис, а результаты Google для Sass по-прежнему скудны.
Вот миксин:
@mixin transparent($hex, $a){
/* for IEGR8 */
background: transparent;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#{$a}#{$hex},endColorstr=#{$a}#{$hex});
zoom: 1;
/* for modern browsers */
background-color: rgba(#{$hex},.#{$a});
}
Таким образом, @include transparent (# FFF, .4)
должен создать красивый, совместимый с браузером прозрачный код, показанный ниже:
background: transparent;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#40FFFFFF,endColorstr=#40FFFFFF);
zoom: 1;
background-color: rgba(100,100,100,.40);
Я не замечал следующего на пару часов:
#
требуется для формата #RGB. .
требуется для rgba alpha. Оба должны быть включены для вызова rgba ()
, однако # не может быть включен для IE #AARRGGBB
, иначе он будет выглядеть например # AA # RRGGBB
, а расширение. не может быть включен для IE, или он отклоняет #. AARRGGBB
.
Мне не хватает более простого способа сделать это? Можно ли это сделать с помощью манипуляций со строками Sass или какой-либо немного умной функции цветового оттенка в Sass, которая уже делает это за меня?
Muchas gracias.