Html 我可以使用CSS给表格列着色而不给单个单元格着色吗?
有没有一种方法可以使列的跨度一直向下。请参见下面的示例:Html 我可以使用CSS给表格列着色而不给单个单元格着色吗?,html,css,Html,Css,有没有一种方法可以使列的跨度一直向下。请参见下面的示例: 发动机 引擎 汽车 身体 1. 2. 3. 4. 5. 6. 7. 7. 1. 2. 3. 4. 5. 6. 是的,您可以。。。使用元素: .grey{ 背景色:rgba(128128,.25); } 瑞德先生{ 背景色:rgba(255,0,0,25); } 蓝先生{ 背景色:rgba(0,0255,25); } # 颜色1 颜色2 1. 红色 红色 红色 蓝色 2. 红色 红色 红色 蓝色 您可以使用第n个子项的选择器: t
发动机
引擎
汽车
身体
1.
2.
3.
4.
5.
6.
7.
7.
1.
2.
3.
4.
5.
6.
是的,您可以。。。使用元素:
.grey{
背景色:rgba(128128,.25);
}
瑞德先生{
背景色:rgba(255,0,0,25);
}
蓝先生{
背景色:rgba(0,0255,25);
}
#
颜色1
颜色2
1.
红色
红色
红色
蓝色
2.
红色
红色
红色
蓝色
您可以使用第n个子项的选择器:
tr td:n个孩子(2),
tr td:第n个孩子(3){
背景:#ccc;
}
标题1
标题2
第1栏
第2栏
第3栏
第1栏
第2栏
第3栏
第1栏
第2栏
第3栏
我将使用第n个子类
css伪类:
tr td:nth-child(2), tr th:nth-child(2), tr td:nth-child(3), tr td:nth-child(4), tr th:nth-child(4), tr td:nth-child(6), tr td:nth-child(7){
background-color: #DDD;
}
tr td:n个孩子(2),
第四名:第n名儿童(2),
tr td:n第n个孩子(3),
tr td:第n个孩子(4),
第四名:第n名儿童(4),
tr td:n第n个孩子(6),
tr td:第n个孩子(7){
背景色:#DDD;
}
发动机
引擎
汽车
身体
1.
2.
3.
4.
5.
6.
7.
7.
1.
2.
3.
4.
5.
6.
以下机具是第n个子选择器,应该可以工作
<style type="text/css">
th:nth-child(2),
th:nth-child(4)
{
background-color: rgba(255, 0, 0, 1.0);
}
td:nth-child(2),
td:nth-child(3),
td:nth-child(4),
td:nth-child(6),
td:nth-child(7)
{
background-color: rgba(255, 0, 0, 0.5);
}
</style>
第n个孩子(2),
第四名:第四名儿童(4)
{
背景色:rgba(255,0,0,1.0);
}
td:N个孩子(2),
td:N个孩子(3),
td:N个孩子(4),
td:N个孩子(6岁),
运输署:第n名儿童(7)
{
背景色:rgba(255,0,0,0.5);
}
通常最简单的方法是设置单元格的样式(如果需要,可以按列),但是可以用不同的方式设置列的样式。一种简单的方法是在colgroup
元素中包装列,并在其上设置样式。例如:
.x{
背景色:#DDD
}
发动机
引擎
汽车
身体
1.
2.
3.
4.
5.
6.
7.
7.
1.
2.
3.
4.
5.
6.
使用第n个子表达式的我的版本:
使用层叠规则的CSS概念,首先给单元格着色,然后给想要透明的单元格着色。第一个选择器选择第一个单元格之后的所有单元格,第二个选择器选择第五个要透明的单元格
/*有色的*/
td:n子(n+2){背景色:#ddd}
/*未着色*/
td:n子(5){背景色:透明}
发动机
引擎
汽车
身体
1.
2.
3.
4.
5.
6.
7.
7.
1.
2.
3.
4.
5.
6.
您可以使用CSS3:
.表td:第n种类型(1){
背景:红色;
}
.表td:第n种类型(5){
背景:蓝色;
}
.表td:第n种类型(3){
背景:绿色;
}
.表td:第n种类型(7){
背景:石灰;
}
.表td:第n种类型(2){
背景:天蓝色;
}
.表td:第n种类型(4){
背景:黑暗;
}
.表td:第n种类型(6){
背景:海军;
}
样式表:
1.
2.
3.
4.
5.
6.
7.
7.
1.
2.
3.
4.
5.
6.
未设置样式的表格:
1.
2.
3.
4.
5.
6.
7.
7.
1.
2.
3.
4.
5.
6.
这是一个老问题,有很多很好的答案。只想添加尚未提及的-n
和第n个子项
选择器。它们在将CSS应用于多列时很有用,但在设置样式之前可能不知道列的数量,或者有多个不同宽度的表
/* Select the first two */
table tr td:nth-child(-n + 2) {
background-color: lightblue;
}
/* Select all but the first two */
table tr td:not(:nth-child(-n + 2)) {
background-color:lightgreen;
}
/* Select last two only */
table tr td:nth-last-child(-n + 2) {
background-color:mistyrose;
}
/* Select all but the last two */
table tr td:not(:nth-last-child(-n + 2)) {
background-color:yellow;
}
jsiddle:请注意,对于跨列,您需要
。使用包含所有列的colgroup
是毫无意义的。@JukkaK.Korpela无论您是否指定它,它都会以这种方式解析-就像
一样。我只是更喜欢指定。我发现col
标记的使用并不常见,但我总是将其用于列宽,以防其他人好奇为什么这样做,或者哪些CSS属性可以用于列,CSS 2.1规范的相关部分是和。@zipzit:如果您确实需要一个表,也就是说,如果数据在本质上是表格形式的(比如有价格的产品表),那么表没有什么错。对表格的批评是反对将其用作布局工具。想知道这一进入网络的热门问题是如何被问到的。截至目前,Sit在Q和a上分别获得了24票和43票,而被接受的答案过去和现在都像疯子一样被提高,人们喜欢学习他们不知道的东西,无论是jQuery数字解析的一个文档化特性,还是一个做得很好的HTML标记/概念,他们都不知道:)@canon-heh是的,无论如何都是不错的答案……您可能希望tr和td之间有一个
,因为您遇到了麻烦,只在trs中选择tds,只在表中选择tds。。。(注意桌子组。)谢谢你的回答,这是不同的解决方案。这是一种过分的做法。过度指定不利于性能表格tr td
是冗余的,因为td
始终在tr
和表格中。如果col组中的单个col
元素不需要单独设置样式,您还可以在colgroup
本身上设置span
属性-
,而不是将col
元素放在其中。设置col
本身的样式要比这好得多(更干净、更快)。