如何使“显示:块”在a<td>在IE里?

我能做些什么使IE将表格单元格显示为实际的块吗

鉴于这种风格:

表格,tbody,tr,td,div{
显示:块;
边框:1px实心#0f0;
填充:4px;
}

这个html:

<表>
<t车身>
<tr>
<td>R1C1&lt/td>
<td>R1C2&lt/td>
<td>R1C3&lt/td>
&lt/tr>
&lt/t车身>
&lt/表>
<部门>
<部门>
<部门>
<部门>lt&R1C1/部门>
<部门>R1C2&lt/部门>
<部门>R1C3&lt/部门>
&lt/部门>
&lt/部门>
&lt/部门>

该表的呈现方式与Firefox和Safari/Chrome中的嵌套div完全相同。但是在Internet Explorer(8)中,display:block属性无效。该表的呈现方式与我未设置该属性的情况完全相同

我的主要问题是细胞不会破裂;它们都在一行上渲染。(tbodytr元素没有任何边框和填充。不过,这对我来说现在不是问题。)

搜索时,我没有找到有关此问题的任何信息。quirksmode和其他地方的兼容性图表表明IE支持display:block,因为v。5.5. 关于表显示问题的任何讨论似乎都是在进行相反操作时进行的,即为非表元素提供任何display:table-*属性

所以再一次,我能做些什么来让IE把表格单元格渲染成块吗

(真正的表实际上是一个表,包含表格数据。我希望保持这种方式,并以不引人注目的方式重新设置其样式。)

我将float:left应用于东西。有点用

现场演示

最大的问题是width:100%加上padding会使东西太宽

所以:
现场演示(没有问题的填充

这看起来好一点,但我不确定如果需要,如何轻松地在任何地方添加填充


这失败了-->惨不忍睹--&lt在IE7中(它只是无法克服它是一个<表>),即使您不关心IE7,它也需要针对您的用例进行调整(如果它可用的话)

IE7:

发表评论