Layui表格怎么固定左侧列或右侧列

雨静小哥_8726

雨静小哥_8726

2026-04-02

811人浏览

原创

layui table 固定列支持 left/right 单独设置,允许多列同向固定但不可混用;需显式设 width、height 才生效,且 css 需手动继承至固定列容器,ie11 下建议降级处理。

layui table 固定列用 fixed 参数,但只支持 left / right 二选一

Layui 的 table.render 确实能固定列,但不是“同时固定左右”,而是每列单独设 fixed: 'left' 或 fixed: 'right'。注意:同一张表里可以有多个 fixed: 'left' 列(按顺序靠左堆叠),也可以有多个 fixed: 'right' 列(靠右堆叠),但不能混用在同一个列上。

  • fixed: 'left' 的列会脱离滚动容器,始终可见,宽度需显式设置(否则容易塌缩)
  • fixed: 'right' 同理,且会从表格最右侧开始反向排列
  • 所有 fixed 列的 width 必须是具体数值(如 120),不能用 'auto' 或百分比
  • 如果设置了 height 表格高度,固定列在垂直滚动时才真正“固定”;没设 height 时,固定效果可能不明显或失效
table.render({
  elem: '#demo',
  cols: [[
    {field: 'id', title: 'ID', width: 80, fixed: 'left'},
    {field: 'username', title: '用户名', width: 120, fixed: 'left'},
    {field: 'email', title: '邮箱', width: 160},
    {field: 'action', title: '操作', width: 140, fixed: 'right'}
  ]]
});

固定多列时,fixed: 'left' 列顺序错乱怎么办

这不是 bug,是 Layui 渲染逻辑:所有 fixed: 'left' 列会被提取出来,按它们在 cols 数组中的原始顺序从左到右排列。但如果你中间穿插了非固定列,又在后面加了另一个 fixed: 'left',它仍会排在已有固定列最右边——这容易让人误以为“顺序没按代码写”。

  • 确保所有想固定在左侧的列,都集中写在 cols 数组前面(或至少彼此相邻)
  • 不要写成:[{fixed:'left'}, {无fixed}, {fixed:'left'}],这样第二个 fixed:'left' 会跑到第一个后面,但视觉上被中间那列“隔开”,显得错位
  • 如果必须逻辑分组,用注释区分,别靠位置判断渲染顺序

为什么固定列内容被截断、文字不换行、图标消失

这是固定列容器未继承样式导致的常见表现,本质是 Layui 对 fixed 列用了独立 DOM 结构,部分 CSS 没透传。

  • 默认情况下,.layui-table-fixed-l 和 .layui-table-fixed-r 容器的 font-size、line-height、padding 可能和主表不一致
  • 单元格内如果有 <button></button>、<i></i>(如 <i class="layui-icon"></i>),需确保对应 class 在固定列区域也生效
  • 图标字体(layui-icon)有时因 font-family 未继承而显示为方块,可手动补一句:
.layui-table-fixed-l .layui-table-cell,
.layui-table-fixed-r .layui-table-cell {
  font-size: 14px;
  line-height: 24px;
}
.layui-table-fixed-l .layui-icon,
.layui-table-fixed-r .layui-icon {
  font-family: layui-icon !important;
}

IE11 下 fixed 列错位或消失,怎么兼容

Layui 2.8+ 官方已不保 IE,但若项目仍需支持,问题多出在 IE 对 transform + position: sticky 混合渲染的 bug,而 Layui 固定列底层依赖这些。

  • 避免在 table 外层套用 transform(如 scale、translateZ),IE 下会破坏 fixed 列定位上下文
  • 不要给 .layui-table-box 设置 overflow: hidden,否则 fixed 列可能被裁掉
  • 最稳妥的方式是降级处理:IE11 下直接禁用 fixed,改用横向滚动 + 提示文案(如“← 拖动查看更多列 →”),比强行修复更可靠

固定列看着简单,但实际受 width、渲染顺序、CSS 继承、浏览器能力三重牵制。最容易忽略的是:没设 height 时固定列其实没真正“固定”,以及 IE 下 transform 破坏定位上下文这种隐性依赖。

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

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

下载

相关标签:

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

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2603

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

5643

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6630

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

6318

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

903

5

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

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

2026.10.22

0

11

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

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

2026.10.22

0

10

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

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

2026.10.22

0

15

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

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

2026.10.22

0

10

热门下载

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

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.9万人学习