帮助我的是将表格的样式设置为style="table-layout: fixed"
. 在此之后,我的表格的列宽保持不变,无论是否在列标题旁边显示图标。
这是表的代码:
<table class="table table-hover" style="table-layout: fixed;">
<thead>
<tr>
<th ng-click="order('col1')">
Column Header 1
<span class="glyphicon" ng-show="orderType == 'col1'"
ng-class="orderReverse ? 'glyphicon-chevron-down' : 'glyphicon-chevron-up'"></span>
</th>
<th ng-click="order('col2')">
Column Header 2
<span class="glyphicon" ng-show="orderType == 'col2'"
ng-class="orderReverse ? 'glyphicon-chevron-down' : 'glyphicon-chevron-up'"></span>
</th>
</tr>
</thead>
<tbody>
...
</tbody>
</table>
该order()
函数设置orderType
和翻转orderReverse
。在 的帮助下ng-show
,只有当表格按该列排序时,才会在标题上显示一个箭头。不需要隐形的字形图标或类似的东西。