当table应用样式“border-collapse: collapse;”时,如果是表格的外边线和单元格的边线同色时,一般不会出现什么问题;可是当它们不同时,或是需要单元格的左右边线和底部边线不同时,就会出现些许尴尬的事。
表现为:以单元格的边线优先。
如何才能做到表格的边线和单元格甚至表头(th)的边线不同呢?
以下是我的做法:
设置表格的边线
.table{border:1px solid #000;width:100%;}设置表头(th)的边线--只有左边线和下边线
.table th{border:1px solid #f60;border-width:0 0 1px 1px;}
设置表格的边线--是伪类,把第一个表头单元格的左边丝去掉(显示出表格的边线)
.table tr th:first-child{border-left:none;}
设置单元格的边线--这里是只显示上边线和左边线,不然表格的底部线会显示不出来
.table td{padding:3px;border:1px solid #6f0;border-width: 1px 0 0 1px;}
设置单元格的边线--是伪类,把第一个单元格的左边丝去掉(显示出表格的边线)
.table tr td:first-child{border-left:none;}
通过这么设置后,基本就完成了。不过因为应用了伪类,所以IE6不支持。还有一个小问题,就是在IE7下,表头(TH)的下边线无法盖住单元格(TD)的上边线。这个设计时需要留意。