textarea 本身加 text-shadow 无效,应使用 box-shadow;推荐给 .layui-input-block 或其内 textarea 添加 box-shadow,并配合 border-radius,注意避免父容器 overflow: hidden 裁剪阴影,高 DPI 下需实测调整。

textarea 本身加 text-shadow 没用,得用 box-shadow
text-shadow 只作用于文字渲染层,对 textarea 这种替换元素(replaced element)基本无效——浏览器不把它当普通文本流处理,阴影会被裁掉或根本不出。真正起效的是 box-shadow,它套在容器盒模型上。
给 layui-input-block 或 textarea 外层加 box-shadow 最稳妥
Layui 的 textarea 默认被包在 .layui-input-block 里,这个 div 是实际参与布局的容器。直接给它加阴影,比给 textarea 自身加更可靠,也避免滚动时阴影错位。
- 推荐写法:
.layui-input-block textarea { box-shadow: 0 1px 4px rgba(0,0,0,.12); } - 如果想阴影只出现在聚焦时:
.layui-input-block textarea:focus { box-shadow: 0 0 0 2px rgba(106,195,52,.3); } - 注意别漏掉
border-radius,否则圆角和阴影不匹配:.layui-input-block textarea { border-radius: 4px; }
固定高度 + overflow:auto 的 textarea 容易裁剪阴影
当 textarea 设了固定 height 或 max-height 并启用滚动时,父容器若设了 overflow: hidden(比如某些自定义封装),会把 box-shadow 裁掉一截。
- 检查父级是否含
overflow: hidden,如有,改为overflow: visible或加padding留出阴影空间 - 避免给
.layui-input-block同时设overflow: hidden和box-shadow - 若用了
layui.form.render()动态重绘,确保 CSS 规则在 render 之后仍生效(建议写在全局样式表,而非内联 style)
和 layui 主题冲突时怎么覆盖
部分第三方皮肤(如 layuimini)会重置 textarea 样式,导致你的 box-shadow 被覆盖。
- 提高选择器权重:用
.layui-form .layui-input-block textarea替代简单textarea - 加
!important是最后手段,仅用于调试;生产环境优先用更具体的选择器 - 确认是否被
layui.css中的.layui-textarea类干扰——该类默认无阴影,但若有自定义扩展,需一并排查
box-shadow 在高缩放比屏幕(如 150% DPI)下视觉强度会变弱,而 layui 默认没做响应式适配。改完记得在不同设备上点开开发者工具的「Device Toolbar」实测。


















