layui表格怎么自定义表格行的高度line-height

夜辰姑娘_7735

夜辰姑娘_7735

2026-11-01

513人浏览

原创

layui.table 的 lineStyle 配置必须设为 false 才能真正释放行高控制权,否则默认内联样式会强制锁定 td 高度;关闭后需同时设置 height 和 line-height 且值相等,并通过 rowStyle + skin: 'nob' 实现动态行高,done 回调中 setTimeout 保证三处表格 tr 高度同步。

layui表格怎么自定义表格行的高度line-height

layui.table 的 lineStyle 配置必须设为 false 才能真正释放行高控制权

默认情况下,Layui 2.7+ 会自动注入 lineStyle: 'height: 40px;'(或类似固定值),它以行内样式强制锁定所有 高度,CSS 中写的 line-height 或 height 全部被覆盖。想自定义行高,第一步不是写 CSS,而是关掉这个“自动锁”。

正确做法是显式声明:lineStyle: false。不要写成 lineStyle: 'height: auto;'——Layui 内部对非 false 值仍可能 fallback 到默认像素值。

  • 删掉配置中任何 lineStyle 字段,等效于 false
  • 如果保留 lineStyle,只接受 false,其他字符串(包括空字符串)都不可靠
  • 关闭后,.layui-table-cell 的高度才真正由你写的 CSS 或 JS 控制

用 CSS 控制行高时,必须同时设置 height 和 line-height 且值相等

只改 line-height 不行,因为 是 display: table-cell,它的垂直居中依赖 height 和 line-height 严格一致。否则文字会上浮、下沉或留白错位。

例如统一设为 36px:

.layui-table-cell {
  height: 36px;
  line-height: 36px;
}
  • 避免使用 min-height:对 table-cell 无效,且会被父级 的 height 覆盖
  • 若需多行文本,改用 height: auto; line-height: 24px; white-space: normal; word-break: break-word;
  • 表头单独控制:th.layui-table-cell 或更精确的 th.laytable-cell-1-0-0(列索引查 DOM)
  • 动态行高必须用 rowStyle + skin: 'nob',否则 height 不生效

    要根据数据字段(如 row.status === 'urgent')设不同高度,唯一可靠路径是 rowStyle 回调配合 skin: 'nob'。漏掉 skin: 'nob' 是最常见失败原因——默认皮肤的 border-collapse: collapse 会让 height 失效。

    rowStyle 返回对象示例:

    深蓝色网站后台管理系统layui框架模板-AdminPro
    深蓝色网站后台管理系统layui框架模板-AdminPro

    一款深蓝色网站后台管理系统layui框架模板

    下载
    rowStyle: function(row) {
      if (row.level === 'high') {
        return { class: 'row-high' };
      }
    }
    • CSS 必须显式写死:.row-high td { height: 56px; line-height: 56px; box-sizing: border-box; }
    • 不能只写 .row-high { height: 56px; }, 上的 height 对 table-cell 子元素不直接传导
    • 若开发者工具里看到 tr 的 display 不是 table-row,补上 .row-high { display: table-row !important; }
    • 内容撑开高度必须在 done 回调中 setTimeout(, 0) 后测量并同步三套 tr

      Layui 表格实际渲染出 6 个

      (主表、左/右固定列、序号列等),它们的 高度必须完全一致,否则滚动错位、hover 错行。单纯改 CSS 或只操作 .layui-table-main 不够。

      实操步骤:

      • 在 done 回调里用 setTimeout(() => { ... }, 0) 确保 DOM 已挂载完毕
      • 遍历当前页每行,取该行所有 td 的 scrollHeight 最大值,加 8–12px 余量
      • 同步设置三处:.layui-table-main .layui-table tr、.layui-table-fixed-l .layui-table tr、.layui-table-fixed-r .layui-table tr
      • 同时设 line-height: normal,否则旧 line-height 会拉扯文字位置

      复杂点在于:表格内部尺寸同步有延迟,DOM 挂载完 ≠ 尺寸就绪;固定列结构隐蔽,漏一处就会视觉割裂。别省这一步。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

layui表格 layui

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
css3教程
css3教程

php中文网为大家提供css3教程合集,CSS3的语法是建立在CSS原先版本基础上的,它允许使用者在标签中指定特定的HTML元素而不必使用多余的class、ID或JavaScript。php中文网还为大家带来css3的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

2060

10

有哪些css3渐变属性
有哪些css3渐变属性

css3中渐变属性有linear-gradient、radial-gradient、conic-gradient、repeating-linear-gradient、repeating-radial-gradient等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.01

3246

5

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

80

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

60

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

220

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

140

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

120

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

80

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

60

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
ThinkPHP配置开发与CMS后台实战
ThinkPHP配置开发与CMS后台实战

共87课时 | 13.1万人学习

第二十三期_综合实战
第二十三期_综合实战

共89课时 | 11.4万人学习

Layui 快速入门精讲
Layui 快速入门精讲

共5课时 | 1.6万人学习