我能做些什么使IE将表格单元格显示为实际的块吗
鉴于这种风格:
表格,tbody,tr,td,div{
显示:块;
边框:1px实心#0f0;
填充:4px;
}
这个html:
<;表>;
<;t车身>;
<;tr>;
<;td>;R1C1</td>;
<;td>;R1C2</td>;
<;td>;R1C3</td>;
</tr>;
</t车身>;
</表>;
<;部门>;
<;部门>;
<;部门>;
<;部门>;lt&R1C1/部门>;
<;部门>;R1C2</部门>;
<;部门>;R1C3</部门>;
</部门>;
</部门>;
</部门>;
该表的呈现方式与Firefox和Safari/Chrome中的嵌套div完全相同。但是在Internet Explorer(8)中,display:block属性无效。该表的呈现方式与我未设置该属性的情况完全相同
我的主要问题是细胞不会破裂;它们都在一行上渲染。(tbody和tr元素没有任何边框和填充。不过,这对我来说现在不是问题。)
搜索时,我没有找到有关此问题的任何信息。quirksmode和其他地方的兼容性图表表明IE支持display:block,因为v。5.5. 关于表显示问题的任何讨论似乎都是在进行相反操作时进行的,即为非表元素提供任何display:table-*属性
所以再一次,我能做些什么来让IE把表格单元格渲染成块吗
(真正的表实际上是一个表,包含表格数据。我希望保持这种方式,并以不引人注目的方式重新设置其样式。)
我将float:left应用于东西。有点用
现场演示
最大的问题是width:100%加上padding会使东西太宽
所以:
现场演示(没有问题的填充)
这看起来好一点,但我不确定如果需要,如何轻松地在任何地方添加填充
这失败了-->惨不忍睹--<在IE7中(它只是无法克服它是一个<;表>;),即使您不关心IE7,它也需要针对您的用例进行调整(如果它可用的话)
IE7: