Bootstrap-table表头固定导致错位怎么办?怎么彻底解决?
Bootstrap-table表头固定导致错位了怎么办?怎么解决?下面本篇文章就来给大家介绍一下彻底解决Bootstrap-table表头错位问题的方法,希望对大家有所帮助!
遇到问题
虽然现在前端已经是VAR三大框架的天下,但是还是遗留了很多在使用JQuery+Bootstrap的项目。比如我现在负责的框架…
情况是这样的,产品想实现页面向下滚动,当表头到达顶部时固定表头的效果。当我看到这个需求时,当时的心情是:Oh,so easy!^_^Y
但当我实际,实现完固定表头后才发现,表头竟然是歪的?!
【相关推荐:《bootstrap教程》】
Google一下
Bootstrap-table如何固定表头?
$('#table').bootstrapTable('destroy').bootstrapTable({ columns: columns, data: data, pagination: true, pageSize: 25, pageNumber: 1, //初始化加载第一页,默认第一页 pageSize: 25, //每页的记录行数(*) pageList: [10, 25, 50, 100], //可供选择的每页的行数(*) fixedColumns: false, // 固定列 fixedNumber: 0, //固定列数 height: 800, // <-----固定表头------ });
如何解决表头固定导致的错位问题?参考文章:https://www.wj0511.com/site/detail.html?id=290
文中指出$('#table').resize();
和.fht-cell {width: 100px !important;}
的解决方案;实际试了一下只能部分解决问题;
表头不超出整体边框了,但是表头和下面的列却整体偏移了。
<script> $(function(){ $('#table').bootstrapTable(); $(window).resize(function () { $('#table').bootstrapTable('resetView'); }); }) </script>
通过审查元素,我们发现表头中控制宽度的元素
这里将宽度设置为了122但是我的数据宽度只有100,这才造成了错位。所以可以直接设置class为fht-cell的宽度,达到对齐的目的。
.fht-cell{width:120px!important;}
分析方案
方案中的
$('#table').resize();
实际上是让表格根据窗口变化时,也重新计算大小以进行适配;方案中的
.fht-cell {width: 100px !important;}
实际上就是直接指定表头宽度,已达到控制总宽度的目的。
但以上两种方案还不足以解决我遇到的问题:表头与table body整体偏移。
确定方案
偶然发现了一个css属性:table-layout:fixed;
定义和用法
tableLayout 属性用来显示表格单元格、行、列的算法规则。
于是乎
table { table-layout: fixed; }
最终方案$('#table').resize();
+ table-layout:fixed;
效果展示
总结
这个方案基本实现了在表头固定的情况下,使表头和列对齐,而且内容不会超出整体div; 但是美中不足的是不能自定义设置每列的宽度,实际上我是设置了,但是失效了。如果这一点解决了,那这个方案就完美了。
更多关于bootstrap的相关知识,可访问:bootstrap基础教程!!
以上是Bootstrap-table表头固定导致错位怎么办?怎么彻底解决?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

如何使用 Bootstrap 获取搜索栏的值:确定搜索栏的 ID 或名称。使用 JavaScript 获取 DOM 元素。获取元素的值。执行所需的操作。

在 Vue.js 中使用 Bootstrap 分为五个步骤:安装 Bootstrap。在 main.js 中导入 Bootstrap。直接在模板中使用 Bootstrap 组件。可选:自定义样式。可选:使用插件。

创建 Bootstrap 分割线有两种方法:使用 标签,可创建水平分割线。使用 CSS border 属性,可创建自定义样式的分割线。

使用 Bootstrap 实现垂直居中:flexbox 法:使用 d-flex、justify-content-center 和 align-items-center 类,将元素置于 flexbox 容器内。align-items-center 类法:对于不支持 flexbox 的浏览器,使用 align-items-center 类,前提是父元素具有已定义的高度。

在 Bootstrap 中插入图片有以下几种方法:直接插入图片,使用 HTML 的 img 标签。使用 Bootstrap 图像组件,可以提供响应式图片和更多样式。设置图片大小,使用 img-fluid 类可以使图片自适应。设置边框,使用 img-bordered 类。设置圆角,使用 img-rounded 类。设置阴影,使用 shadow 类。调整图片大小和位置,使用 CSS 样式。使用背景图片,使用 background-image CSS 属性。

要设置 Bootstrap 框架,需要按照以下步骤:1. 通过 CDN 引用 Bootstrap 文件;2. 下载文件并将其托管在自己的服务器上;3. 在 HTML 中包含 Bootstrap 文件;4. 根据需要编译 Sass/Less;5. 导入定制文件(可选)。设置完成后,即可使用 Bootstrap 的网格系统、组件和样式创建响应式网站和应用程序。

要调整 Bootstrap 中元素大小,可以使用尺寸类,具体包括:调整宽度:.col-、.w-、.mw-调整高度:.h-、.min-h-、.max-h-

如何使用 Bootstrap 按钮?引入 Bootstrap CSS创建按钮元素并添加 Bootstrap 按钮类添加按钮文本
