在IE8中应用css渐变过滤器时,表格单元格会丢失边框
我发现在同时应用css渐变过滤器时,表格单元格上的css边框会丢失。 看起来渐变效果覆盖了边框。
这是一个浏览器错误还是我在这里错过了一些东西?
风格是这样定义的:
.c7 {
color: #000000;
filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr='#c0c0c0',EndColorStr='#f0f0f0');
border: #000000 1px solid;
width: 100px;
height: 30px;
}
[更新]您可以应用不透明度过滤器并将其从100减少到1,并且您可以看到边界逐渐显现。 它证实了我的猜测,即梯度效应显示在边界之上。
我找到了一个修复程序,但你可能不喜欢它...
如果在怪异模式下在IE中渲染,边框呈现正常,但只有在使用兼容模式时才会模糊。 在IE8中比较这两个页面:
DOCTYPE
声明 DOCTYPE
声明 同样的,点击兼容性视图按钮,但是我试图用兼容模式meta标签获得相同的结果是不成功的。 我尝试使用box-sizing
,但也没有成功。 我总结出让它按照你想要的方式工作的唯一方法是强制IE进入怪异模式,但是这可能会为布局创建太多其他问题,以至于只需添加一个用于附加渐变背景的包装元素即可。
应用这也适用:
position: relative;
z-index: -1;
使用DIV来包含每个单元格中的内容。 将渐变应用于DIV并将边框放在单元格上。 渐变将被限制在DIV中,并且不会覆盖边界。
http://jsfiddle.net/WWCaj/1/
链接地址: http://www.djcxy.com/p/40497.html上一篇: Table cell loses border when css gradient filter is applied in IE8