我尝试使用此CSS制作background-color
不透明的tr
:
.faded{
background-color: red;
height: 100px;
opacity: 0.4;
filter: alpha(opacity=50);
}
这是我的测试HTML:
<table>
<tr class="faded">
<td><div>testtesttesttestt</div></td>
<td><div>testtsttesttesttt</div></td>
</tr>
</table>
在IE9,10 FF24 Chrome 31+中一切正常,但在IE11中没有。 请注意,我并不关心表格行的内容,只关注背景不透明度。下面的屏幕截图和Jsfiddle。
IE10:
IE11:
那么,这里发生了什么?
编辑:我已向Microsoft提交了错误报告: https://connect.microsoft.com/IE/feedback/details/868842/ie-11-setting-css-opacity-on-a-table-row-doesnt-affect-the-background-color-of-that-row
编辑2:此错误已由Microsoft
确认编辑3:Microsoft已将此错误移至新位置: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/212446/
答案 0 :(得分:15)
这似乎是另一个IE错误..作为解决方法,您可以通过background opacity
颜色添加rgba()
。然后只需将不透明度添加到td
元素。
Updated Example - 各种浏览器的结果似乎一致。
.faded {
background-color: rgba(255, 0, 0, 0.4);
height: 100px;
}
td {
opacity:0.4
}
答案 1 :(得分:5)
答案 2 :(得分:1)
将此行添加到html的头部,不透明度将正常工作
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
答案 3 :(得分:0)
尝试添加DefaultEndpointsProtocol=http
声明。看到这个answer
答案 4 :(得分:0)
这个解决方案对我有用。
background-color: rgba(18, 21, 23, 0.3);
最后一个参数是 alpha 通道(颜色的不透明度),您可以将它从 0.0 传递到 1.0 以调整您的颜色不透明度。