CSS col visibility:collapse 不适用于 Chrome
CSS col visibility:collapse does not work on Chrome
我试图在 html 代码中隐藏一些列。使用MDN添加了colgroup和col,我在玩cols的样式
内容文本 'visible' 的 <td>
在所有浏览器中可见(好),内容文本 'hidden' 在 chrome 中可见(差)并隐藏在 Firefox 和 Edge 中。 (好).
我可以重现问题的最短代码在这里:
<!doctype html>
<html>
<head>
<title>css example</title>
<style type='text/css'>
col.visible {}
col.hidden { visibility:collapse; }
</style>
</head>
<body>
<table border='1'>
<colgroup>
<col class='visible'>
<col class='hidden'>
<tbody>
<tr>
<td>visible</td>
<td>hidden</td>
</tr>
</tbody>
</colgroup>
</table>
</body>
</html>
visibility: collapse
不应该分配给 col
,而是 td
。这会很好用:
td.hidden { visibility:collapse; }
<body>
<table border='1'>
<colgroup>
<col>
<col>
<tbody>
<tr>
<td>visible</td>
<td class='hidden'>hidden</td>
</tr>
</tbody>
</colgroup>
</table>
</body>
如果要隐藏特定 col
中的所有 td
,请使用 td:nth-of-type(n)
选择器(将 n
替换为列的索引号)。
你是对的,chrome 没有正确支持 table 行和列的 visibility:collapse -- 按照 bug 进行更新。我们计划在接下来的几个月内解决它,但它可能要到 2017 年底才会出现在 stable 中。很抱歉坏消息。
从 Chrome 92 开始,症状相同:
使列不可见,但其宽度不为零,因此 table 占用相同未折叠时的宽度。
使用
+ 的想法是 避免向列中的每个 添加标记。
我试图在 html 代码中隐藏一些列。使用MDN添加了colgroup和col,我在玩cols的样式
内容文本 'visible' 的 <td>
在所有浏览器中可见(好),内容文本 'hidden' 在 chrome 中可见(差)并隐藏在 Firefox 和 Edge 中。 (好).
我可以重现问题的最短代码在这里:
<!doctype html>
<html>
<head>
<title>css example</title>
<style type='text/css'>
col.visible {}
col.hidden { visibility:collapse; }
</style>
</head>
<body>
<table border='1'>
<colgroup>
<col class='visible'>
<col class='hidden'>
<tbody>
<tr>
<td>visible</td>
<td>hidden</td>
</tr>
</tbody>
</colgroup>
</table>
</body>
</html>
visibility: collapse
不应该分配给 col
,而是 td
。这会很好用:
td.hidden { visibility:collapse; }
<body>
<table border='1'>
<colgroup>
<col>
<col>
<tbody>
<tr>
<td>visible</td>
<td class='hidden'>hidden</td>
</tr>
</tbody>
</colgroup>
</table>
</body>
如果要隐藏特定 col
中的所有 td
,请使用 td:nth-of-type(n)
选择器(将 n
替换为列的索引号)。
你是对的,chrome 没有正确支持 table 行和列的 visibility:collapse -- 按照 bug 进行更新。我们计划在接下来的几个月内解决它,但它可能要到 2017 年底才会出现在 stable 中。很抱歉坏消息。
从 Chrome 92 开始,症状相同:
使用