ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Layui 表格表头换行如何一步到位:表头多行显示完整指南

Layui 表格表头换行如何一步到位:表头多行显示完整指南 Layui 表格表头换行如何一步到位表头多行显示完整指南【免费下载链接】layui一套遵循浏览器原生态开发模式的 Web UI 组件库。项目地址: https://gitcode.com/GitHub_Trending/la/layuiLayui 的 table 组件默认不让表头文字换行。标题一长就被nowrap顶成一坨要么溢出、要么被省略号截断。想实现 Layui 表格表头换行其实只需放开三处限制下面带你一步步改到位。默认为什么不换行两条 CSS 限制翻一下 表格组件源码 的表头模板每个th里都包着一层.lay-table-cell。在 表格样式文件 里它被写死了两个限制.lay-table-cell { height: 38px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }white-space: nowrap管着不许断行height: 38px管着只给一行的高度。文字再长也只能挤在一行里多出来的部分被overflow: hidden裁掉。所以表头多行显示的前提就是放开这两条。第一步给表头留出多行空间先改 HTML给目标表格挂一个自己的类名方便后面精确覆盖样式div iddemo classmytable/div初始化照常用table.render列定义里把长的标题直接写全cols: [[ {field: id, title: ID, width: 90}, {field: name, title: 申请人完整姓名及所属部门信息, width: 200} ]]标题越长越容易触发换行列宽给足效果才自然。第二步三行 CSS 搞定表头换行HTML 放好后只需覆盖.lay-table-cell的三个属性.mytable .lay-table-header .lay-table-cell { height: auto; white-space: normal; line-height: 22px; }white-space: normal是关键它让文字按列宽自动折行height: auto去掉固定行高行高交给line-height控制。改完刷新长标题就整齐地折成两行了。避坑清单表头换行常踩的 5 个坑只改white-space不改height文字折行了但容器还是 38px第二行直接被裁掉。两条必须一起改。选择器写全局.lay-table-cell是全部单元格共用的类不加自己的父类做限定整张表的数据行也会跟着变高。列宽留太少white-space: normal只影响断行时机列太窄时申请人完整姓名及所属部门信息会折成三四行反而更丑。固定列不同步表格有fixed列时Layui 会额外渲染一份固定列表头样式写在同一个.mytable下即可覆盖到但高度要和主表头一致否则左右会错位。表头高度取值两行标题大约需要 66-70px。别为了保险给 120px留白太大表格显得很松还会压掉可视区的行数。场景延伸多级表头怎么改多级表头的分组行用的是laytable-cell-group类结构上仍落在.lay-table-header里上面那条 CSS 已经生效不用额外写。如果分组行文字居中、想保持垂直居中可以补一条.mytable .lay-table-header .laytable-cell-group { display: flex; align-items: center; }场景延伸动态计算表头高度标题长度不确定时写死高度容易猜不准。渲染完成后遍历表头单元格取最大高度即可const cells document.querySelectorAll(#demo .lay-table-header .lay-table-cell); let h 0; cells.forEach(c (h Math.max(h, c.offsetHeight))); document.querySelector(#demo .lay-table-header).style.height h 4 px;注意要在done回调里执行此时 DOM 已渲染完毕量出来的高度才准确。到这里layui 表格自定义表头高度、layui 表头 white-space 这些需求就都有了着落。去你项目里试试改完记得在窄屏上也看一眼折行效果。【免费下载链接】layui一套遵循浏览器原生态开发模式的 Web UI 组件库。项目地址: https://gitcode.com/GitHub_Trending/la/layui创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表