当在单元格内动态添加图标时,如何防止 table 列宽增加

how to prevent table column width increase when a icon dynamically added inside the cell

我有 table,它的 header 是可点击的,通过点击,它会进行排序。因此,当单击 header 的标题时,它会在标题右侧添加图标(asc 或 dsc 图标),结果它还会根据图标大小增加该列的宽度。如下图:

从上图中您可以看到,当我单击“资助金额”列时,我添加了一个 asc/dsc 图标,结果它也增加了该列的宽度。我想要的是,在添加此图标时,它不应该 increase/pushes 列的宽度。

我没有提供任何代码,因为它只是一个带有一些通用 css 的简单 table,而且我也没有使用 bootstrap。

使用css在所需列上设置max-width或min-width,使其不会增长或收缩。您需要计算尺寸。

您可以使用css进行全局设置。或者在显示时包含默认图标。当您更改图标间距时,应该已经设置好了。 在您的 css 文件中

table th, table td { min-width: 80px; max-width:100px;}

不是添加/删除符号,而是使用 css 属性 visibility 隐藏/显示它们。当它们被隐藏时,它们仍然会占用 space.

.arrow.hidden {
  visibility: hidden;
}

.arrow.visible {
  visibility: visible;
}

文档:https://www.w3schools.com/cssref/pr_class_visibility.asp