14

我有一个 17 列的表,分为 3 个列组。我可以使用 CSS 设置背景颜色,这表明我的 CSS 选择器很好。但是,我不能在每个 colgroup 的外部设置边框。

首先我尝试了这个 CSS:

colgroup.inbound, colgroup.outbound {
    background-color: #eeeeee;
    border: 1px solid red;
}

并以这种方式定义列组:

<colgroup span="2"></colgroup>
<colgroup span="12" class="inbound"></colgroup>
<colgroup span="3" class="outbound"></colgroup>       

接下来我尝试了这个 CSS:

col.inbound, col.outbound {
    background-color: #eeeeee;
    border: 1px solid red;
}

并以这种方式定义组:

<colgroup
    <col span="2">
    <col span="12" class="inbound">
    <col span="3" class="outbound">            
</colgroup>

在这两种情况下,我的背景颜色都会生效,但我的边框不会。我能看到的唯一边界是所有单元格之间的一条细白线(而不是整个组周围)。

我知道 tablerules属性,但是我不想使用它。我认为 CSS 会给我更多的灵活性,如果我能弄清楚如何使用它!

4

1 回答 1

13

为了在使用表格时使边框正常工作,您应该为表格设置以下规则

table.collapsed{
  border-collapse:collapse;
}

当你假装时,你会得到你的边界

在此处输入图像描述

col.inbound, col.outbound {
    background-color: #eeeeee;
    border: 1px solid red;
}

这个JsBin中的一个简单示例

选项 整个组的边框,而不是每列的边框

在此处输入图像描述

那么你应该像这样统治 colgroup 而不是 cols ..

colgroup.inbound  {
  border: 1px solid #ff0000;
}

记住总是使用边框折叠!这可以在这个JsBin中看到

于 2013-02-26T02:05:05.663 回答