Bootstrap-Que dois-je faire si l'en-tête du tableau est mal aligné en raison d'une fixation ? Comment le résoudre ? L'article suivant vous présentera comment résoudre complètement le problème du désalignement de l'en-tête de la table Bootstrap. J'espère qu'il vous sera utile !
Bien que le front-end soit désormais dominé par les trois principaux frameworks VAR, il existe encore de nombreux projets utilisant JQuery+Bootstrap. Par exemple, le framework dont je suis actuellement responsable...
La situation est la suivante Le produit veut obtenir l'effet de faire défiler la page vers le bas et de corriger l'en-tête du tableau lorsqu'il atteint le haut. Quand j'ai vu cette exigence, mon humeur à l'époque était : Oh, c'est si simple !^_^Y
Mais quand j'ai réellement réalisé que le collecteur du compteur était fixe, j'ai découvert que le collecteur du compteur était en fait tordu ? !
【Recommandation associée : "tutoriel bootstrap"】
Comment réparer l'en-tête de la table Bootstrap ?
$('#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, // <-----固定表头------ });
Comment résoudre le problème de désalignement causé par la fixation de la tête du compteur ? Article de référence : https://www.wj0511.com/site/detail.html?id=290
L'article souligne que $('#table').resize();
et La solution de .fht-cell {width: 100px !important;}
; l'essayer ne peut résoudre que partiellement le problème ;
L'en-tête ne dépasse pas la bordure globale, mais l'en-tête et les colonnes situées en dessous sont décalées dans leur ensemble. $('#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;
rrreee
La largeur est définie sur 122 mais la largeur de mes données n'est que de 100, ce qui provoque un désalignement. Par conséquent, vous pouvez définir directement la classe sur la largeur de fht-cell pour obtenir l'alignement.
rrreee$('#table') dans le plan .resize();
En fait, lorsque le tableau change en fonction de la fenêtre, la taille est également recalculée pour adaptation
.fht-cell {width: 100px !important ; ;
En fait, il spécifie directement la largeur de l'en-tête, ce qui permet de contrôler la largeur totale.
table-layout:fixed;
🎜🎜🎜Définition et utilisation L'attribut 🎜🎜tableLayout est utilisé pour afficher les règles d'algorithme pour les cellules, les lignes et les colonnes du tableau. 🎜🎜🎜Alors🎜rrreee🎜Solution finale$('#table').resize();
+ table-layout:fixed;
🎜 🎜Affichage de l'effet🎜🎜🎜🎜🎜Résumé🎜🎜Cette solution réalise essentiellement l'alignement de l'en-tête et des colonnes du tableau lorsque l'en-tête du tableau est corrigé et que le contenu ne dépasse pas le div global ;
Mais le problème est que vous ne pouvez pas personnaliser la largeur de chaque colonne. En fait, je l'ai défini, mais cela n'a pas fonctionné. Si ce problème est résolu, alors cette solution sera parfaite. 🎜🎜Pour plus de connaissances sur le bootstrap, veuillez visiter : 🎜Tutoriel de base du bootstrap🎜 ! ! 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!