textarea设width:100%无效,因table-cell内百分比宽度无法解析、box-sizing未设border-box、父td及table缺显式宽度;需同时满足td可伸展、textarea盒模型可控、表格布局可预测。

直接给 表格单元格默认是 必须同时满足三件事:父 示例片段: iOS Safari 对 最易被忽略的是:哪怕所有 CSS 都写对了,只要 设 width: 100% 通常无效——它默认不继承父 的宽度,且受表格布局、盒模型和内边距干扰严重。 为什么
不会自动撑满
table-cell 显示模式,而 是替换元素,其百分比宽度在 table-cell 内无法正确解析;加上浏览器对 的默认 border 和 padding 未归入 width 计算,进一步导致溢出或收缩。 没设 width 或 min-width,父宽不可计算,100% 就失去参照
缺少 box-sizing: border-box,实际宽度 = content + padding + bordertable-layout: fixed 但没配 或首行 width,列宽坍缩成最小内容宽让
真正撑满的 CSS 组合 可伸展、 盒模型可控、表格布局可预测。 加 width: 100%(或显式 min-width),并确保其父 有明确宽度(如
width: 100%)
加:display: block; width: 100%; box-sizing: border-box;
table-layout: fixed,务必用 或首行 / 声明列宽,否则 宽度仍可能坍缩
备注
移动端和 Safari 下的常见坑
的 100% 渲染更敏感,尤其在缩放或地址栏收起时容易错位。
rows 属性控制高度,它只是字符行数提示,不保证视觉高度;改用 min-height + line-height 计算resize: vertical 后就不管 max-height,用户拖拽可能撑破 边界
vw 单位(如 width: 100vw),注意 iOS 上滚动条会吃掉约 17px,导致 实际超宽 外层容器没设
width 或 max-width, 的 100% 就永远找不到“100% 谁”。这个父宽链必须完整、显式、无中断。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











