HTML表格隐藏列不再起作用了吗?

时间:2014-11-06 10:48:25

标签: html css

如果需要,我会在表格中隐藏列。我在 - 标签中使用了style =“display:none”。

它工作了一段时间,但实际上它不再起作用了......

示例代码:

<table width="100%">
    <colgroup>
        <col width="auto">
        <col width="auto">
        <col width="auto">
        <col width="auto" style="display: none">
        <col width="auto" style="display: none">
        <col width="auto">
    </colgroup>
    <tr>
        <th......
</table>

1 个答案:

答案 0 :(得分:2)

它可能在IE 7中有效,因为IE 7的列属性实现错误。根据CSS 2.1规范,条款7.1 Columns,适用于col元素的唯一属性(即在设置它们时有效)是backgroundborder,{ {1}}(仅在设置值visibility时)和collapse。此错误已在IE 8中修复。

因此,您可以根据评论中的建议设置width。如果您因某种原因发现此方法不可行,则可以在单元格上设置visibility: collapse。使列的所有单元格不自然显示意味着根本不显示该列。由于旧版本的IE不支持执行此操作的最简单方法,因此您仍然可以保留现有设置(在display上设置display: none在CSS中不是非法的,它只是定义为它没有效果):

col
tr > :nth-child(4), tr > :nth-child(5) {
  display: none;
}

为了清楚起见,我添加了<table width="100%" border> <col> <col> <col> <col style="display: none"> <col style="display: none"> <col> <tr> <th>a <th>b <th>c <th>d <th>e <th>f </table>属性。我删除了border属性,因为它们无效且无效。设置宽度是一个不同的问题。