一个IE8 Bug的解决方法以及一些思考
Bug重现
这里我引用了我同事流星陨落的例子。
<!DOCTYPEHTMLPUBLIC"-//W3C//DTD HTML //EN""">
<html>
<head>
<style>
.table1
{
border-collapse:collapse;
}
.table1 th {
-ms-filter:"progid:(enabled='true',startColorstr=white, endColorstr=gray)";
border:1px solid red;
}
</style>
</head>
<body>
<tableclass="table1">
<tr>
<th>Give me a border</th>
<th>Give me a border</th>
</tr>
</table>
</body>
</html>
重现环境:IE8, Browser Mode: IE8, Document Mode: IE8 Standard
正确的效果:
问题描述:
、左边和单元格中间的边框不应该看不见。
b. 这个问题与border-collapse属性没有关系,即使去掉border-collapse,也是没有边框的。
解决方案
我看了我同事发的帖子,/,邀月同学给出了他的回复,在此表示感谢。不过position:absolute似乎并不是一个很好的解决方案,至少对于我们公司的系统是这样的,因为我们公司的table会有最多300列,如果每一列都要给一个新样式,那就有些小题大做了。更何况我们的列要支持宽度可变、拖放等功能,所以这种方法并不推荐。
但邀月的方法给了我点启发,既然position不行,float也许能行,于是早上拿float:left试了一把,居然可以,修正代码如下:
<!DOCTYPEHTMLPUBLIC"-//W3C//DTD HTML //EN""">
<html>
<head>
<style>
.table1
{
border-collapse:collapse;
}
.table1 th {
-ms-filter:"progid:(enabled='true',startColorstr=white, endColorstr=gray)";
border-left:1px solid red;
border-top:1px solid red;
border-bottom:1px solid red;
border-right:none;
float:left;
}
.table1
一个IE8Bug的解决方法以及一些思考 来自淘豆网m.daumloan.com转载请标明出处.