直接为 加 box-shadow 即可实现外部阴影;表格中阴影不明显是因 border-collapse: collapse 压缩边缘或 缺少 padding 和 background-color 导致裁切或弱化。

直接给 <textarea></textarea> 加 box-shadow 就能实现外部阴影,不需要包裹、不用改 display,它天生支持;所谓“为表格中的文本域加阴影”,重点不在表格,而在 <textarea></textarea> 本身的样式控制和上下文干扰排查。
为什么表格里 <textarea></textarea> 的阴影看起来断掉或不明显?
不是阴影没生效,而是被表格的渲染规则吃掉了:如果 <textarea></textarea> 放在 <td> 里,而该表格设了 <code>border-collapse: collapse,<td> 的盒模型会压缩边缘空间,导致阴影被裁切或紧贴单元格边框发虚;另外,<code><td> 默认无背景、无 padding,也会让阴影叠在下层内容上,视觉弱化。
<ul><li>检查父级 <code><td> 是否有 <code>padding(至少 8px),否则阴影没绘制余量
border-collapse: collapse;若必须用,把 <textarea></textarea> 所在 <td> 单独设 <code>border-collapse: separate(无效,别试)——正确做法是给 <td> 加 <code>padding + 显式 background-color
<textarea></textarea> 自身不要设 display: block 或 width: 100% 同时又没控制 box-sizing,否则可能撑破 <td> 导致 overflow 裁剪阴影
<h3>
<code><textarea></textarea> 外部阴影的标准写法与参数调优
阴影本身很简单,但参数组合决定是否“立体”:单层 box-shadow: 0 2px 6px rgba(0,0,0,0.15) 是基础浮起感;要增强真实立体感,得用两层+轻微位移:
- 第一层(近影):
0 1px 3px rgba(0,0,0,0.12)—— 模拟刚离表面的距离,模糊小、透明度稍高 - 第二层(远影):
0 4px 12px -2px rgba(0,0,0,0.08)—— 负的 spread-radius(-2px)收束底部边缘,避免发散虚化 - 务必加
border-radius: 4px,否则圆角处阴影断裂;同时配overflow: hidden在<td> 上(不是 <code><textarea></textarea>上)防止溢出响应式场景下阴影错位或消失的常见原因
移动端滚动时阴影突然不见,或横屏后阴影拉长变形,通常不是代码问题,而是容器约束失效:
立即学习“前端免费学习笔记(深入)”;
<td> 宽度由内容撑开,而 <code><textarea></textarea>设了width: 100%,但没设box-sizing: border-box→ 实际宽度 = 内容宽 + padding + border + shadow 空间 → 溢出被裁- 父
<table> 或 <code><div> 设了 <code>overflow-x: auto,但没设overflow-y: visible→ 阴影垂直方向被硬裁 - 使用
vw或%设置<textarea></textarea>宽度时,未同步调整max-width,导致大屏下阴影横向拉伸失真
最易被忽略的是:阴影需要绘制空间,而表格单元格默认不提供这个空间——
<td> 的 <code>padding和background不是装饰,是阴影存在的基础设施。



















