问题重现:
table,设置边框1px solid #ddd,根据th、td,设置不同边框
谷歌浏览器正常,火狐浏览器表格边框,均只显示左、上边框
解决办法:
table, tr, td, th, thead, tbody {
position: static;
}
解决过程:
走了很多弯路
1)第一反应是width不够,于是尝试给元素增加width。无效
2)发现,如果设置极端些,比如border-right-width:20px,会显示边框,但是在td右侧只有一条线,width为20排序,高度为1px,于是尝试给元素增加height、line-height。无效
3)border-collapse属性。设置了border-collapse:collapse。无效
4)position:relative。搜到博客《td标签上的position:relative属性td边框在各浏览器中的兼容性问题》(此为转载,未标明原作者http://blog.sina.com.cn/s/blog_6b2fcbbc0102w52a.html)。据此改动css代码。成功。
参考:
[1]. 陆远. RE2007: 各浏览器解决表格边框冲突的方式存在差异[EB/OL]. http://www.w3help.org/zh-cn/causes/RE2007.
[2]. 陆远. BX3006: 各浏览器对 TABLE、TH、TD 元素的 bordercolor 属性的处理有差异[EB/OL]. http://www.w3help.org/zh-cn/causes/BX3006.