我有一个包含表格行的基本 HTML 表格。我的目标是用可见线分隔这些表格行(以提高内容的可读性)。
我怎么能这样做?
有几种方法可以做到这一点。单独使用 HTML,您可以编写
<table border=1 frame=void rules=rows>
或者,如果您也想要第一行上方和最后一行下方的边框,
<table border=1 frame=hsides rules=rows>
但是,这相当不灵活。例如,您不能使线条以这种方式点缀,或者比一个像素厚。这就是为什么过去人们使用特殊的分隔行,只包含一些旨在生成行的内容(它会有点脏,特别是当您需要制作行时,例如只有几个像素高,但这是可能的)。
在大多数情况下,现在人们使用 CSSborder
属性来达到目的。它相当简单且跨浏览器。但请注意,要使线条连续,您需要使用标签中的cellspacing=0
属性或 CSS 规则来防止单元格之间的间距。删除这样的间距可能需要在单元格内添加一些填充(最好使用 CSS)。table
table { border-collapse: collapse; }
最简单的,你可以使用
<style>
table {
border-collapse: collapse;
}
tr {
border: solid;
border-width: 1px 0;
}
</style>
这也会在第一行上方和最后一行下方放置一个边框。为了防止这种情况,例如在样式表中添加以下内容:
tr:first-child {
border-top: none;
}
tr:last-child {
border-bottom: none;
}
只需设置行的边框样式:
table tr {
border-bottom: 1px solid black;
}
table tr:last-child {
border-bottom: none;
}
这是一个小提琴。
如@pkyeck 所述编辑。第二种样式避免了最后一行下方的行。也许你正在寻找这个。
您可以使用border-bottom
css 属性。
table {
border-collapse: collapse;
}
table tr {
border-bottom: 1px solid black;
}
table tr:last-child {
border: 0;
}
<table>
<tr>
<td>1</td>
<td>Foo</td>
</tr>
<tr>
<td>2</td>
<td>Bar</td>
</tr>
</table>
你必须使用 CSS。
在我看来,当您经常有一张桌子时,最好在每条线的每一侧单独放置一条线。
试试这个代码:
HTML:
<table>
<tr class="row"><td>row 1</td></tr>
<tr class="row"><td>row 2</td></tr>
</table>
CSS:
.row {
border:1px solid black;
}
再见
安德烈亚
HTML
<table cellspacing="0">
<tr class="top bottom row">
<td>one one</td>
<td>one two</td>
</tr>
<tr class="top bottom row">
<td>two one</td>
<td>two two</td>
</tr>
<tr class="top bottom row">
<td>three one</td>
<td>three two</td>
</tr>
</table>
CSS:
tr.top td { border-top: thin solid black; }
tr.bottom td { border-bottom: thin solid black; }
tr.row td:first-child { border-left: thin solid black; }
tr.row td:last-child { border-right: thin solid black; }
如果您不想使用 CSS,请在您的行之间尝试这个:
<tr>
<td class="divider"><hr /></td>
</tr>
干杯!!
使用 css 为行元素设置样式:
border-bottom: 1px solid black;
将 colspan 设置为您的列数,并根据需要设置背景颜色
<tr style="background: #aaa;">
<td colspan="2"></td>
</tr>