不是用来“撑宽度”或“强制居中”的,它的核心作用是语义化声明:这里是列(或行)的标题。自适应宽度不是它该管的事,而是由表格布局算法、CSS
table-layout
和内容自然伸缩共同决定的。
为什么
宽度不按预期收缩或拉伸
浏览器默认用
table-layout: auto
,此时单元格宽度由内容最长项决定,
本身不控制宽度,只影响语义和默认样式。常见现象包括:
一列
文字很长,整列被撑开,其他列被压缩
设置了
width: 100px
但没生效,因为父
或
没触发固定布局
用了
colspan
的
拉垮了整行宽度分配逻辑
让
所在列真正自适应的三个关键点
必须同时满足以下条件,才能实现「内容少时窄、内容多时宽、整体均衡」的效果:
给
设置
table-layout: auto
(默认值,不用显式写)——这是自适应的前提
避免在
或
上硬设
width
(HTML 属性或内联 style),否则会干扰自动计算
对超长文本做可控截断:
white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
,防止单个单元格失控
scope
属性对宽度没影响,但忽略它会埋下可访问性雷
scope
不参与任何尺寸计算,但它决定了屏幕阅读器如何把
和数据单元格关联起来。如果省略或写错,比如该用
scope="col"
却写了
scope="row"
,视觉上一切正常,但残障用户听到的可能是“第3行:张三”,而不是“姓名:张三”。
使用HTML,CSS,JavaScript开发Android应用程序 英文文字pdf版附源文件
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
下载
立即学习
“
前端免费学习笔记(深入)
”;
容易被忽略的是:多级表头(如带分组的列)必须配合
id
+
headers
,不能只靠
scope
。例如:
联系方式
电话
邮箱
这种结构下,
的语义完整性比宽度更关键——一旦出问题,测试工具报错、辅助技术失效,修复成本远高于调一个 CSS width。
相关文章
