Html IE8从tbody中排除列
我在页面上显示多个表时遇到问题 表代码非常简单。CSS按%设置每个td的宽度,Html IE8从tbody中排除列,html,css,html-table,internet-explorer-8,tablelayout,Html,Css,Html Table,Internet Explorer 8,Tablelayout,我在页面上显示多个表时遇到问题 表代码非常简单。CSS按%设置每个td的宽度,表格布局是固定的 问题似乎是因为第一个表的列数为X,而第二个表的列数为X+3。这将导致从表体中排除最后一列 在检查DOM时,我可以看到右侧的最后一列存在于表体外部(在设计中),但在代码中存在于表体内部 如果我从css中删除table layout:fixed,表会重叠,但它会将正确的css背景颜色等应用于最后的列。如果我保持表格布局不变,但删除了width:100%属性,也会发生这种情况。因此,从第一个表开始,所有
表格布局
是固定的
问题似乎是因为第一个表的列数为X,而第二个表的列数为X+3。这将导致从表体中排除最后一列
在检查DOM时,我可以看到右侧的最后一列存在于表体外部(在设计中),但在代码中存在于表体内部
如果我从css中删除table layout:fixed
,表会重叠,但它会将正确的css背景颜色等应用于最后的列。如果我保持表格布局不变,但删除了width:100%属性,也会发生这种情况。因此,从第一个表开始,所有表都保持固定的表宽,这似乎也是一个问题
我相信这可能与此密切相关
有什么想法吗
<div>
<table>
// th elements
<tbody>
<tr>
<td>1</td>
</td>
</tbody>
</table>
</div>
<div>
<table>
// th elements
<tbody>
<tr>
<td>1</td>
<td>2</td>
</tr>
</tbody>
</table>
</div>
//th元素
1.
//th元素
1.
2.
这个问题的解决方案正是我所期望的
事实证明,IE(和其他一些浏览器)将基于第一个表的第一行来创建所有表布局
因此,如果在一个页面上有多个表,其中列的数量不同,那么最终可能会出现这样的情况,即任何额外的列都挂在表的末尾,就像我的一样
有些人建议在thead
上方使用colgroup
和col
属性,但我发现这对我不起作用
相反,我在我的原始文件上方创建了一个隐藏的thead
,包含所需的最大列数
<thead>
<tr hidden="hidden">
<th span="1"></th>
<th span="3"></th>
<th span="3"></th>
<th span="3"></th>
<th span="1"></th>
<th span="2"></th>
</tr>
</thead>
<thead>
// My actual table headers
</thead>
//我的实际表格标题
@chovy此项目适用于一家大型公司。我认为解决我的问题可能比升级所有公司的机器更容易。。。所以人们可以玩…旧的思维方式。现在是常青树。没有别的了。我不在乎IE11是否起作用。与其说是“旧思维方式”,不如说是“国家安全”