Html 加载内容后强制固定表列

Html 加载内容后强制固定表列,html,css,Html,Css,我有一个HTML表格,我在其中进行排序和筛选,当我进行筛选时,我的列的宽度会有所不同。我想知道是否有办法在内容加载到我的表中后强制表保持其宽度。因此,当我进行过滤或排序时,任何东西都不会移动,它只会在每一列中保持其宽度 在数据加载到表中之后,我需要保持宽度不变,因为我并不总是加载相同的数据。首先,我希望数据能够很好地调整到表中,然后在排序或过滤之后,永远不要让它改变宽度 谢谢 将样式添加到表格中,这将解决您的问题 #table-id{ position:fixed; display:bloc

我有一个HTML表格,我在其中进行排序和筛选,当我进行筛选时,我的列的宽度会有所不同。我想知道是否有办法在内容加载到我的表中后强制表保持其宽度。因此,当我进行过滤或排序时,任何东西都不会移动,它只会在每一列中保持其宽度

在数据加载到表中之后,我需要保持宽度不变,因为我并不总是加载相同的数据。首先,我希望数据能够很好地调整到表中,然后在排序或过滤之后,永远不要让它改变宽度


谢谢

将样式添加到表格中,这将解决您的问题

#table-id{
 position:fixed;
 display:block;
}


可以为每列指定一些最小或最大宽度

.custom-max
{
max-width: value; 
}


我希望我正确地理解了你的问题。只要数据加载,您就可以将单元格的
宽度
保持在
自动
状态,以便表格按照您的需要进行调整。然后在过滤数据时,读取px中列的实际宽度

var firstColumnWidth = $("td:nth-child(1)").get(0).clientWidth;
并将
宽度设置为该固定值

$("td:nth-child(1)").each(function(i){$(this).css("width",firstColumnWidth+"px");});

示例:

在加载列后,您可以使用
clientWidth
获得px中列的实际宽度,然后将
宽度设置为该值。您可以将表的HTML/CSS代码添加到问题中吗?不能这样做,传入的其他一些数据可能具有不同的宽度,我不会每次都加载相同的数据。在页面加载时,我希望我的表能够调整,但在数据加载到表中之后,我希望宽度保持静态,并且永远不会改变。Ram Tobolski,不,我不能,因为我正在使用JSF lol。它会变得有点复杂。我真正需要的是,在将数据加载到表中后,宽度保持静态。对于页面加载,我希望我的表能够根据输入的数据进行调整,但在此之后,我希望列的宽度保持不变,永远不会改变。我真正需要的是,在我将数据加载到表中后,我的宽度保持不变。对于页面加载,我希望我的表能够根据输入的数据进行调整,但在此之后,我希望列的宽度保持不变,永远不会改变。这是不够的。单元格内容的更改可能会导致列宽分配的更改,除非您设置(在初始页面加载后执行的脚本中)
table layout:fixed
,并将表的
width
属性设置为特定值(列宽之和)。据我所知,在首次加载数据后,单元格的内容不会发生变化。但如果是这样的话,这是一个很好的观点。
var firstColumnWidth = $("td:nth-child(1)").get(0).clientWidth;
$("td:nth-child(1)").each(function(i){$(this).css("width",firstColumnWidth+"px");});