css – Firefox 1像素错误与边界崩溃,解决方法?

前端之家收集整理的这篇文章主要介绍了css – Firefox 1像素错误与边界崩溃,解决方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有以下“1像素左侧”错误解决方法吗?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">                                   
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">   
<body>
<div style="padding: 50px">
<div style="border: 1px solid red">Table header info</div>
<table style="border: 1px solid green; border-collapse: collapse; width: 100%">
    <tbody>
        <tr>
            <th>Col1</th>
            <th>Col2</th>
        </tr>
        <tr>
            <td>Hello</td>
            <td>World</td>
        </tr>
    </tbody>
</table>
<div style="border: 1px solid red">Table footer info</div>
</div>
</body>
</html>

它看起来像这样:

有没有任何纯CSS解决方案?

编辑

我对我的表有点不清楚,所以这里是再次:

边界崩溃:

根据建议,使用cellspacing =“0”和没有border-collapse:

所以现在我的表内的边框是加倍的,但我想在我的表1px边框。

当我从表中删除1px边框结束于:

边框在我的桌子里仍然翻倍。

我可以设置只有右边和底部边框的每个TD,TH和左边框每个第一个孩子在TR实现我想要的,但我认为有一个更简单的方法

解决方法

移除边框合拢并改用cellpacing = 0。
<table style="border: 15px solid green; width: 100%"  cellspacing="0">

它发生,因为当您设置border-collapse:collapse时,Firefox 2.0将边框放在tr的外部。其他浏览器把它放在里面。

代码中将边框宽度设置为10px,以了解实际发生的情况。

编辑后OP编辑

你可以使用旧表“边界”技巧。设置表上的背景颜色。将td和th颜色设置为白色。 User cellsacing = 1;

table {background-color: green;width:100%;}
td,th{background-color:white;}

<div style="padding: 50px">
<div style="border: 1px solid red">Table header info</div>
<table cellspacing="1" >
        <tbody>
                <tr>
                        <th>Col1</th>
                        <th>Col2</th>
                </tr>
                <tr>
                        <td>Hello</td>
                        <td>World</td>
                </tr>
        </tbody>
</table>
<div style="border: 1px solid red">Table footer info</div>
</div>

猜你在找的CSS相关文章