用于交替列的CSS网格线

用于交替列的CSS网格线,css,border,css-tables,Css,Border,Css Tables,我创建了一个包含20行10列的表。我想创建一条分隔每两列的网格线 所以,在第2列和第3列之间有一条线将它们分开。第4列和第5列、第6列和第7列以及第8列和第9列之间也应有行分隔 但是我不想用一行分隔第1列和第2列,或者第3列和第4列,等等 有没有办法用CSS做到这一点?我曾尝试在列的每个单元格上创建一个左边框,但它并没有给我一条沿着列向下的实线 任何帮助都将不胜感激。我认为您的实线问题在于桌上的“边框折叠”属性。如果不设置“边框折叠:折叠”,表单元格之间会有一些空白 下面是表格的一个示例,第2列

我创建了一个包含20行10列的表。我想创建一条分隔每两列的网格线

所以,在第2列和第3列之间有一条线将它们分开。第4列和第5列、第6列和第7列以及第8列和第9列之间也应有行分隔

但是我不想用一行分隔第1列和第2列,或者第3列和第4列,等等

有没有办法用CSS做到这一点?我曾尝试在列的每个单元格上创建一个左边框,但它并没有给我一条沿着列向下的实线


任何帮助都将不胜感激。

我认为您的实线问题在于桌上的“边框折叠”属性。如果不设置“边框折叠:折叠”,表单元格之间会有一些空白

下面是表格的一个示例,第2列和第3列、第4列和第5列等之间有边框:

<html>
<head>
<style type="text/css">
    table {
        border-collapse:collapse;
        border:1px solid black;
    }

    td {
        padding:2px 8px;
    }

    .border {
        border-right:1px solid black;
    }
</style>
</head>
<body>
<table>
<tr>
    <td>asdf</td><td class="border">asdf</td>
    <td>asdf</td><td class="border">asdf</td>
    <td>asdf</td><td class="border">asdf</td>
    <td>asdf</td><td class="border">asdf</td>
    <td>asdf</td><td class="border">asdf</td>
</tr>
<tr>
    <td>asdf</td><td class="border">asdf</td>
    <td>asdf</td><td class="border">asdf</td>
    <td>asdf</td><td class="border">asdf</td>
    <td>asdf</td><td class="border">asdf</td>
    <td>asdf</td><td class="border">asdf</td>
</tr>
</body>
<html>

桌子{
边界塌陷:塌陷;
边框:1px纯黑;
}
运输署{
填充:2px8px;
}
.边界{
右边框:1px纯黑;
}
asdfasdf
asdfasdf
asdfasdf
asdfasdf
asdfasdf
asdfasdf
asdfasdf
asdfasdf
asdfasdf
asdfasdf

我认为您的实线问题是表上的“边框折叠”属性。如果不设置“边框折叠:折叠”,表单元格之间会有一些空白

下面是表格的一个示例,第2列和第3列、第4列和第5列等之间有边框:

<html>
<head>
<style type="text/css">
    table {
        border-collapse:collapse;
        border:1px solid black;
    }

    td {
        padding:2px 8px;
    }

    .border {
        border-right:1px solid black;
    }
</style>
</head>
<body>
<table>
<tr>
    <td>asdf</td><td class="border">asdf</td>
    <td>asdf</td><td class="border">asdf</td>
    <td>asdf</td><td class="border">asdf</td>
    <td>asdf</td><td class="border">asdf</td>
    <td>asdf</td><td class="border">asdf</td>
</tr>
<tr>
    <td>asdf</td><td class="border">asdf</td>
    <td>asdf</td><td class="border">asdf</td>
    <td>asdf</td><td class="border">asdf</td>
    <td>asdf</td><td class="border">asdf</td>
    <td>asdf</td><td class="border">asdf</td>
</tr>
</body>
<html>

桌子{
边界塌陷:塌陷;
边框:1px纯黑;
}
运输署{
填充:2px8px;
}
.边界{
右边框:1px纯黑;
}
asdfasdf
asdfasdf
asdfasdf
asdfasdf
asdfasdf
asdfasdf
asdfasdf
asdfasdf
asdfasdf
asdfasdf
您可以使用

td:nth-child(2n){
  border-right: 1px solid #000
}
这将只选择每隔一个td并将其添加到边界

这是最干净的方法,因为它不需要任何无关的标记。但并不是每个浏览器都能处理它:(

您可以使用

td:nth-child(2n){
  border-right: 1px solid #000
}
这将只选择每隔一个td并将其添加到边界


这是最干净的方法,因为它不需要任何额外的标记。但不是每个浏览器都能处理它:(

使用CSS可以获得相同的效果,请检查此项
使用CSS,您可以获得相同的效果,请选中此项

您是否有一些我们可以查看的源HTML/CSS可以帮助您?您是否有一些我们可以查看的源HTML/CSS可以帮助您?您是否可以从链接添加适当的文本到答案?您是否可以从链接添加适当的文本到答案?