为什么 IE 有以下后备color: red;
行不通?
在IE7中,颜色是black
而不是red
.
现场演示在这里
HTML:
<div>
<span>Hello</span>
</div>
CSS:
div {
width: 200px;
height: 100px;
background-color: blue;
text-align: center;
}
span {
font-size: 2em;
color: red;
color: rgba(250, 250, 97, 0.9);
}
第三者编辑
The mozilla mdn 关于 css 颜色列出了不同的选项color: value
-
CSS 2 规范:
color: <value>
value 可以是关键字red
or rgb(255,0,0)
-
CSS 颜色模块级别 3(建议 2017-12)添加了 SVG 颜色、rgba()、hsl() 和 hsla() 函数,例如:
rgba(0,0,0,0)
IE 不支持 RGBA。
但是,当它看到您的 color: 样式时,它会尝试对其进行评估并恢复为默认颜色 (#00000000)。
你could在这里使用 IE 特定的 hack,例如
*color: red;
但是,假设您只想影响背景颜色,而不影响整个元素的不透明度,那么最好使用一个过滤器,将所需的 rgba 值设置为渐变的开始和结束颜色 - 创建 rgba背景。
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000050,endColorstr=#99000050);
-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000050,endColorstr=#99000050);
但请记住 - IE 假定 Alpha 是第一个,而不是最后一个,所以不要只是转换和复制您的值。
双滤镜分别适用于 IE6 和 IE7。
http://css-tricks.com/rgba-browser-support/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)