layui-textarea默认无圆角,需用!important显式设置border-radius并配合边框或背景色才能可见;父容器overflow:hidden或表格单元格布局不当会导致圆角被裁切。

layui-textarea 默认没有圆角,必须靠 CSS 覆盖
layui 的 textarea 元素默认渲染为 .layui-textarea 类,但该类本身不带 border-radius;你看到的“圆角”其实是浏览器对原生 textarea 的默认渲染(因版本/系统而异),不可靠也不可控。
真正生效的圆角,必须显式加 CSS 规则。常见错误是只写 .layui-textarea { border-radius: 4px; } 却没加 !important——Layui 2.8+ 内置样式权重较高,普通声明会被覆盖。
- 推荐写法:
.layui-textarea { border-radius: 6px !important; } - 若需统一整站所有文本域样式,建议在全局 CSS 中定义,并确保它加载在 layui.css 之后
- 不要用
style="border-radius:..."写在 HTML 里——Layui 初始化时可能重写元素属性,导致内联样式失效
配合边框和背景色才能让圆角“看得见”
border-radius 是盒模型属性,只定义轮廓形状;如果没有可见的边框或背景,圆角就只是“存在”,但视觉上不可见。
比如只设 border-radius: 6px + border: 1px solid transparent,依然看不到圆角效果——透明边框不参与视觉渲染。
- 正确组合:至少满足其一:
border: 1px solid #e6e6e6或background-color: #fff - 更稳妥的做法是两者都加:
.layui-textarea { border: 1px solid #d2d2d2; background-color: #fff; border-radius: 6px !important; } - 注意:如果父容器有
overflow: hidden,且圆角值过大(如12px),可能裁掉圆角边缘——此时需同步给父容器加相同border-radius
在表格单元格中编辑时,圆角容易被截断
当 layui-textarea 放在 table 单元格里(比如双击编辑场景),表格默认的 overflow: hidden 或紧凑 padding 可能导致圆角显示不全,尤其顶部和底部。
这是布局层级问题,不是 textarea 本身失效。
- 解决办法:给所在
td加padding: 6px 10px,留出圆角空间 - 同时确保
td没有overflow: hidden(Layui 表格默认没有,但自定义 skin 或 CSS 可能引入) - 如果用了
edit回调动态插入textarea,记得在插入后手动触发一次layer.style()或强制重绘(极少数情况需要)
不想全局改?用局部 class 精准控制
如果你只想让某几个特定文本域有圆角(比如表单头部的描述框),不希望影响其他地方,就别动全局 .layui-textarea。
给目标 textarea 加一个自定义 class,比如 class="layui-textarea my-rounded",然后写:
.my-rounded {
border-radius: 8px !important;
border: 1px solid #90caf9;
background-color: #f5fbff;
}
这样既隔离了样式影响,又避免了权重冲突。注意:Layui 不会为这个 class 做任何特殊处理,完全依赖你写的 CSS 生效。
最易忽略的是:圆角生效的前提是元素有明确的边界——没边框、没背景、没 padding、父容器 overflow 隐藏,四个条件占一个,圆角就可能“消失”。


















