Ahm*_*lfy 17 css border css-tables
我想使用CSS来设置表格外边框的颜色......然后内部单元格会有不同的边框颜色......
我创建了这样的东西:
table {
border-collapse:collapse;
border: 1px solid black;
}
table td {
border: 1px solid red;
}
Run Code Online (Sandbox Code Playgroud)
问题是,桌子的颜色会变成红色,你可以在这里看到:http://jsfiddle.net/JaF5h/
如果表的边框宽度增加到2px,它将起作用:http://jsfiddle.net/rYCrp/
我一直在处理CSS和跨浏览器问题这么久......这是我第一次面对这样的事情而且我完全陷入困境......不知道该怎么做!
任何人都知道如何使用border-width进行修复:1px?
ajc*_*jcw 14
我会通过使用相邻的选择器来实现这一点,如下所示:
table {
border: 1px solid #000;
}
tr {
border-top: 1px solid #000;
}
tr + tr {
border-top: 1px solid red;
}
td {
border-left: 1px solid #000;
}
td + td {
border-left: 1px solid red;
}
Run Code Online (Sandbox Code Playgroud)
它有点重复,但它分别通过设置第一行和第一行的顶部和左边框,然后用红色覆盖"内部"行和单元格来实现您所需的效果.
这当然不适用于IE6,因为它不了解相邻的选择器.
小智 5
以前的答案并没有完全解决这个问题.接受的答案允许内部边框与外部表边框重叠.经过一些实验,我想出了以下解决方案.
通过设置表格折叠样式来分隔内部边框不要与外部重叠.从那里消除了额外和加倍的边界.
HTML:
<table>
<tr>
<td>Content</td>
<td>Content</td>
<td>Content</td>
</tr>
<tr>
<td>Content</td>
<td>Content</td>
<td>Content</td>
</tr>
<tr>
<td>Content</td>
<td>Content</td>
<td>Content</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
CSS
table {
border: 1px solid black;
border-collapse: separate;
border-spacing: 0;
}
table td, table th {
border: 1px solid red;
}
table tr td {
border-right: 0;
}
table tr:last-child td {
border-bottom: 0;
}
table tr td:first-child,
table tr th:first-child {
border-left: 0;
}
table tr td{
border-top: 0;
}
Run Code Online (Sandbox Code Playgroud)
https://jsfiddle.net/o5ar81xg/