最稳妥方式是为列配置 className 并用 CSS 设置 text-decoration: underline !important;若需条件渲染则用 templet 包裹内容,注意避免破坏对齐与排序功能。

layui table 列文字加下划线的 CSS 方式
直接用 CSS 控制列单元格内容样式最稳妥,Layui 表格本身不提供「列文本装饰」的内置配置项。
关键点在于:Layui 渲染后每列 td 会带上 lay-data-field="xxx" 对应的类名(如字段名 title → 类名 layui-table-cell-title),但更可靠的是用列索引或自定义 templet 绑定 class。
- 推荐在
cols中为该列加className: 'col-underline',然后全局写 CSS - 避免用
templet包一层<span style="text-decoration: underline">{{d.xxx}}</span>—— 这样会破坏原生对齐、溢出隐藏等行为 - 如果列是
checkbox或radio类型,不要给整列加下划线,容易干扰操作
如何写精准生效的 CSS 规则
Layui 表格的 td 是动态渲染的,直接写 .col-underline { text-decoration: underline; } 可能被默认样式覆盖(比如 layui-table-cell 的 line-height 或 padding 影响下划线位置)。
- 必须加上
!important确保优先级:.col-underline { text-decoration: underline !important; } - 若只要文字部分下划线(不包括 padding 区域),加
display: inline-block或用span包裹内容(配合templet时才需) - 注意和
cellMinWidth/minWidth配合,过窄列会导致下划线被截断
用 templet 手动包裹的适用场景
当需要「仅对非空值加下划线」「根据值动态决定是否加线」或「避开某些特殊列(如操作列按钮)」时,templet 更灵活。
- 示例:
templet: d => d.link ? `<span style="text-decoration: underline;">${d.link}</span>` : d.link - 注意:返回字符串里不能含未转义的双引号,否则模板解析失败;建议用反引号或单引号
- 如果列启用了
sort: true,templet不影响排序逻辑,但确保原始字段名(如d.url)仍存在,否则排序取不到值
移动端或 IE 下的兼容性提醒
text-decoration 在旧版 IE(≤10)中对 inline-block 元素支持不稳定,且 Layui 2.8+ 默认已放弃 IE 支持,但仍有项目需兼容。
- 如果必须支持 IE11,用
border-bottom: 1px solid #999替代text-decoration,视觉接近且更可控 - 移动端 Safari 对
text-decoration-color支持较好,但 Android WebView 低版本可能忽略颜色设置,统一用默认色更稳 - 别忘了测试「鼠标悬停时下划线是否消失」—— 如果用了
:hover伪类,要显式重置,否则交互混乱
!important 或选错了 CSS 作用域上。


















