使用CSS的填充表在IE上不起作用

时间:2011-01-25 16:05:49

标签: html css internet-explorer html-table padding

这不适用于我的IE:

<table style="padding:5px">...</table>

然而它适用于Opera。

有解决方法吗?

4 个答案:

答案 0 :(得分:18)

早期的CSS规范(IE6遵循 - 我使用“松散地跟随”这个词)并不清楚表格中定义的填充甚至是什么意思。 IE6当然决定通过忽略填充来解释与其他浏览器不同的解释。其他浏览器决定通过在表格边框和最外面的单元格之间添加间距来渲染它,而不会影响单元格内​​部或内部单元格之间的间距。当IE7问世时,规格已经像其他浏览器一样工作,但IE6仍然存在问题,它只是忽略了填充。

最好的解决方案是避免在桌面上放置填充,而是用div包围它,然后将填充物放在那里。

<div style="padding: 5px;">
    <table...>
    </table>
</div>

当然,如果您想要的是单元格间距或单元格填充(而不是仅仅填充在桌面上),那么您应该使用cellspacingcellpadding属性(即使您不知道)我想要这些,你至少需要cellspacing="0"来避免IE6表格渲染的另一个问题。“

此外,此处的内嵌样式仅用于演示目的;使用css类通常被认为是更好的做法。

答案 1 :(得分:1)

您尝试使用<table cellpadding="5">了吗? IE在某些CSS样式方面存在问题。 你的语法也错了,你忘记了分号。

答案 2 :(得分:0)

我冒昧地猜测你的代码中有其他错误。

填充在IE中运行良好:

http://jsbin.com/ewuho4/

答案 3 :(得分:0)

如果你想填充单元格,然后使用cellpading属性(cellpadding =“X”),如果你想填充一个表,那么考虑到它的结构很尴尬,我建议你如果你想要一些空间,你可以设置一个空格它和其他东西。虽然我不是IE的粉丝,但填充对IE不起作用我不会责怪它