css怎么解决表格边框线重复问题.

html-css010

css怎么解决表格边框线重复问题.,第1张

1、td 的边框和table 的边框重叠

.table { border-left:1px solid #dededeborder-top:1px solid #dedede}

.td { border-right:1px solid #dededeborder-bottom:1px solid #dedede}

table 只用左边框和上边框,每个td只有右边框和下边框,效果就是整个表格左、上边框是连续实线,右、下边框是延续td的边框所以是断断续续的

解决方法:

.table {border:1px solid #dededeborder-collapse:collapse}

.td {border:1px solid #dedede} 橘色字体是关键,边框设置也不用分上下左右了,重叠的话会一个覆盖另一个

firefox中:td的border覆盖table 的,IE中table 的border覆盖td的,我这里border颜色一样,无所谓了

表格线常见问题:

1.表格边框与表格单元格线的重叠。[采用border-collapse:collapse解决]

2.嵌套表格与被嵌套表格边线重叠问题。[采用border-top|left|right|bottom解决]

3.嵌套表格与被嵌套表格对不齐的问题。[采用table-layout: fixed解决]

4.border-collapse有两个属性,separate 和 collapse 。

separate是默认属性,表格边框默认有1px 的间隙,在表格排版时代,设置好表格背景色,我们曾用它来挤出版块的外边框;

collapse,是将表格边框的间隙去掉,这样给表格的td边框赋值时就不会产生双线框了。

Demo:没有设置collapse属性的双线表格

你定义的一定是1px的虚线或者是点线吧。这是个IE的bug,拖拽滚动条之后线就会断断续续。没有办法,firefox浏览就没有问题了。

可以换成2px以上的宽度,但是恐怕就不是你想要的效果了。

两个连续的框?如果第二个框的上边距为负值,那么理论上它会覆盖上一个框的一定位置,但这两个框是独立的,也没有设置relative,就不能用z-index,你让浏览器应该显示哪一个呢?当然会产生冲突了。

负值的边距只能当第二个框嵌套在第一个框中时才会显示。或是对它们设置了relative才有作用。