【发布时间】:2011-10-17 16:37:02
【问题描述】:
我是 Sass 的新手,正在为此苦苦挣扎。我无法在hex(对于 IE)和rgba 中渲染颜色。每一个小片段都让我感到沮丧,因为我还没有掌握语法,而且 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 中已经为我处理这个问题的任何稍微聪明的偏色函数来完成吗?
【问题讨论】:
标签: css cross-browser sass ruby-on-rails-3.1 mixins