html5中col元素的width属性已废弃,必须用css width(px/%/em等)配合table-layout: fixed和table明确宽度才能生效;colgroup须为table直接子元素,span仅占位不广播,列数需严格对齐。

colgroup 的 width 属性早就失效了
写 <col width="120"> 不会生效,HTML5 已废弃该属性,浏览器静默忽略。必须用 CSS 的 width 值,且只能通过 style 或 class 设置:
-
<col style="width: 120px">✅ 现代浏览器全支持 -
<col class="w-120">+.w-120 { width: 120px }✅ 推荐,利于复用和维护
别再查老教程里带 width 属性的写法——它现在就是个摆设。
文章转信息图。将文章/笔记转化为手机可读的 HTML 信息图,自动匹配视觉风格。触发场景:文章转图、笔记转图、信息图、转小红书图、做张图、可视化这篇文章、文生图。
span="3" 不会让三列都变宽,只影响第一列
span 的作用是“占位”,不是“广播”。<col style="width: 100px" span="3"> 实际只让第 1 列宽 100px,第 2、3 列回退为默认宽度(内容撑开或浏览器自动分配)。
- 想让前三列都固定 100px:必须显式写三个
<col style="width: 100px"> - 想让前三列共占 300px:用
<col span="3" style="width: 300px">,但需配合table-layout: fixed才稳定 - 动态列数时,
span极易错位——少一个<col>,最后一列就失去控制;多一个,多余项完全无用
table-layout: fixed 是列宽可控的前提
默认 table-layout: auto 下,<col> 的 width 只是参考值,内容长了照样撑开。真要锁定列宽,必须加:
-
table必须有明确宽度(100%或具体像素),否则百分比width无效 - 启用
table-layout: fixed后,某列漏写<col>→ 该列宽度可能为 0(Safari 尤其明显) -
width: auto在<col>上无效,只能用px、%、em等具体值
colgroup 放错位置,样式就彻底消失
<colgroup></colgroup> 必须是 <table> 的**直接子元素**,且顺序严格:
<ul>
<li>✅ 正确:@@######@@ 或 <code><table><tr><colgroup>...</colgroup></tr></table>
放错位置不会报错,DevTools 里也看不到效果——浏览器直接跳过解析。调试时先检查 Elements 面板中 <colgroup></colgroup> 是否出现在 <table> 下第一层。
<p>真正难搞的不是语法怎么写,而是列数变化时如何让 <code><col> 数量和实际 <th>/</th>
<td> 列数严格对齐;差一个,样式就断在最后一列。
<pre class="brush:php;toolbar:false;"></pre>
<table>
<caption>...</caption>
<colgroup>...</colgroup>
<thead>...</thead>
</table>
<li>❌ 错误:<code><table><tbody><colgroup>...</colgroup></tbody></table>
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










