Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何使用css选择非标题单元格_Html_Css - Fatal编程技术网

Html 如何使用css选择非标题单元格

Html 如何使用css选择非标题单元格,html,css,Html,Css,给定一个像下面这样的表,其中包含一些行标题的行跨度单元格,如何在不更改HTML标记的情况下仅使用css选择所有“行内容”单元格 生成该表时,rowspan头单元格可能位于不同的行上,也可能根本没有rowspan,因此css不能硬编码为特定的行号 只有css才能做到这一点吗 表格{ 边界塌陷:塌陷; } 运输署, th{ 边框:1px纯黑; } 列标题1 列标题2 列标题3 列标题4 行标题1 行内容1 行内容2 行内容3 行标题2 行内容1 行内容2 行内容3 行内容1 行内容2 行内容3

给定一个像下面这样的表,其中包含一些行标题的行跨度单元格,如何在不更改HTML标记的情况下仅使用css选择所有“行内容”单元格

生成该表时,rowspan头单元格可能位于不同的行上,也可能根本没有rowspan,因此css不能硬编码为特定的行号

只有css才能做到这一点吗

表格{
边界塌陷:塌陷;
}
运输署,
th{
边框:1px纯黑;
}

列标题1
列标题2
列标题3
列标题4
行标题1
行内容1
行内容2
行内容3
行标题2
行内容1
行内容2
行内容3
行内容1
行内容2
行内容3
行标题4
行内容1
行内容2
行内容3
行标题5
行内容1
行内容2
行内容3
行内容1
行内容2
行内容3
行标题6
行内容1
行内容2
行内容3

您的标记在语义上不正确:

  • 用于标题单元格
  • 用于数据单元
  • 然后,您可以使用
    td
    CSS选择器选择数据单元格
  • 表格{
    边界塌陷:塌陷;
    }
    td,th{
    边框:1px纯黑;
    }
    运输署{
    背景:黄色;
    }
    
    列标题1
    列标题2
    列标题3
    列标题4
    行标题1
    行内容1
    行内容2
    行内容3
    行标题2
    行内容1
    行内容2
    行内容3
    行内容1
    行内容2
    行内容3
    行标题4
    行内容1
    行内容2
    行内容3
    行标题5
    行内容1
    行内容2
    行内容3
    行内容1
    行内容2
    行内容3
    行标题6
    行内容1
    行内容2
    行内容3
    
    您可以使用属性选择器:

    表格{
    边界塌陷:塌陷;
    }
    运输署,
    th{
    边框:1px纯黑;
    }
    td[世界其他地区]{
    背景:浅蓝色;
    }
    
    列标题1
    列标题2
    列标题3
    列标题4
    行标题1
    行内容1
    行内容2
    行内容3
    行标题2
    行内容1
    行内容2
    行内容3
    行内容1
    行内容2
    行内容3
    行标题4
    行内容1
    行内容2
    行内容3
    行标题5
    行内容1
    行内容2
    行内容3
    行内容1
    行内容2
    行内容3
    行标题6
    行内容1
    行内容2
    行内容3
    
    我们应该查看整行,而不是查看单个单元格,尝试在内容单元格之间找到一致性,以便您只选择它们,或者在标题单元格之间找到一致性,以便您选择除它们以外的所有单元格,因为这样做时,很明显,所有包含标题单元格的行总共有4个单元格,而不包含标题单元格的行只有3个

    有了这些知识,我们只能通过组合和来选择每一个单元格栏(每行的最后一个第四个单元格栏)来定位内容单元格,如下所示:

    td:not(:nth-last-child(4)){}
    

    您已经更改了HTML。我正在寻找一个只使用css的解决方案,因为我没有权限更改表的html标记。然后,您可以尝试
    :n个child
    ,但要正确执行此操作,您需要解析
    行span
    属性,而css无法做到这一点。如果只允许值的一小部分,您可以硬编码,但这会很难看。我只需要选择行内容单元格,这些选项正在选择一些行标题单元格。啊,是的,我读错了。如果定义“行标题”的唯一东西是它的内容,那么您想要的内容在CSS中是不可能的。第3行和第6行是否故意缺少标题,或者这是您粘贴代码时的意外疏忽?抱歉,我将
    rowspans
    误读为
    colspan
    ,因此我回答了自己的问题。