如何从 HTML 表中完全删除边框

我的目标是制作一个类似于“照片框架”的 HTML 页面。换句话说,我想做一个由4张图片包围的空白页面。

这是我的暗号:

<table>
<tr>
<td class="bTop" colspan="3">
</td>
</tr>
<tr>
<td class="bLeft">
</td>
<td class="middle">
</td>
<td class="bRight">
</td>
</tr>
<tr>
<td class="bBottom" colspan="3">
</td>
</tr>
</table>

CSS 类如下:

.bTop
{
width: 960px;
height: 111px;
background-image: url('../Images/BackTop.jpg');
}
.bLeft
{
width: 212px;
height: 280px;
background-image: url('../Images/BackLeft.jpg');


}


.middle
{
width: 536px;
height: 280px;
}


.bRight
{
width: 212px;
height: 280px;
background-image: url('../Images/BackRight.jpg');
}


.bBottom
{
width: 960px;
height: 111px;
background-image: url('../Images/BackBottom.jpg');
}

我的问题是,我得到的细白线之间的表格单元格,我的意思是,图片的边界是不连续的。我如何避免这些空白?

876365 次浏览
<table cellspacing="0" cellpadding="0">

在 css 中:

table {border: none;}

编辑: 正如 iGEL 指出的那样,这个解决方案已经正式废弃了(但仍然可以使用) ,因此如果要从头开始,应该使用 jnpcl 边界折叠解决方案。

到目前为止,我实际上非常不喜欢这种改变(不经常使用表格)。这使得一些任务变得有点复杂。例如,当你想在同一个地方包含两个不同的边框(视觉上) ,其中一个是一行的顶部边框,另一个是另一行的底部边框。它们将倒塌(只显示其中一个)。然后,你必须研究如何计算边界的“优先级”和什么样的边界样式是“强大的”(双重与坚实等)。

我喜欢这样:

<table cellspacing="0" cellpadding="0">
<tr>
<td class="first">first row</td>
</tr>
<tr>
<td class="second">second row</td>
</tr>
</table>


----------


.first {border-bottom:1px solid #EEE;}
.second {border-top:1px solid #CCC;}

现在,随着边境崩溃,这将不会工作,因为总是有一个边境删除。我必须用其他的方法来做(还有更多的解决方案)。一种可能性是使用带盒子阴影的 CSS3:

<table class="tab">
<tr>
<td class="first">first row</td>
</tr>
<tr>
<td class="second">second row</td>
</tr>
</table>​​​


<style>
.tab {border-collapse:collapse;}
.tab .first {border-bottom:1px solid #EEE;}
.tab .second {border-top:1px solid #CCC;box-shadow: inset 0 1px 0 #CCC;}​
</style>

您也可以使用类似于只有一个边框的“ grove | ridge | inset | started”边框样式。但对我来说,这不是最佳选择,因为我不能同时控制两种颜色。

也许有一些简单而漂亮的方法可以解决边界崩溃的问题,但是我还没有看到它,而且说实话我也没有花太多时间在上面。也许这里有人能向我/我们展示;)

table {
border-collapse: collapse;
}

对于我来说,我需要做类似的事情来完全删除表格和所有单元格的边框。这根本不需要修改 HTML,这对我的案例很有帮助。

table, tr, td {
border: none;
}

在自举环境中,没有一个顶级答案有用,但是应用以下方法可以删除所有边框:

.noBorder {
border:none !important;
}

申请条件:

<td class="noBorder">

这就是我解决问题的方法:

在 HTML tr 标记中,添加以下内容:

style="border-collapse: collapse; border: none;"

它删除了在表格行上显示的所有边框。

在引导环境中,我的解决方案是:

    <table style="border-collapse: collapse; border: none;">
<tr style="border: none;">
<td style="border: none;">
</td>
</tr>
</table>

使用 TinyMCE 编辑器,我能够删除所有边框的唯一方法是使用 border:hidden的样式如下:

<style>
table, tr {border:hidden;}
td, th {border:hidden;}
</style>

在 HTML 中是这样的:

<table style="border:hidden;"</table>

干杯

在全局 CSS 中使用此 CSS 样式

.table,
.monthview-datetable td,
.monthview-datetable th {
border: none !important;
}

table {
border: none;
}

您可以使用这个 css 属性来隐藏表格边框。

给出:

    <table>
<tr>
<th>Company</th>
<th>Contact</th>
<th>Country</th>
</tr>
<table>

在你的 CSS 中使用这种方法是可行的:

tr {
border: transparent 1px solid;
}
            

我发现 border-spacing是我的问题

 td, th, tr, table {
border: 0 !important;
border-spacing:0 !important;
}

这里的所有答案在2022年都不起作用(至少对 Chrome 来说是这样) ,除了 <table cellspacing="0" cellpadding="0">。然而,我需要一个 CSS 解决方案,而不是 HTML 的。所以,事情是这样的:

table,
thead,
tbody,
tfoot,
tr,
th,
td {
padding: 0;
border-spacing: 0;
}

padding是 HTML cellpadding的 CSS 同义词,border-spacingcellspacing的 CSS 同义词。