填充在iE中不起作用?

时间:2010-09-01 10:26:45

标签: html css internet-explorer

我希望在元素的边框内部有内容空间。

http://www.w3schools.com/CSS/css_padding.asp

我使用的是cellpadding,它在FF中工作得很好但在IE中却没有。我使用的IE版本是 7.0.5730.13

我尝试了一个简单的表

<table style="padding:100px" border="1">
    <tr><td>123</td></tr>
    <tr><td>456</td></tr>
    <tr><td>678</td></tr>
    <tr><td>kuz</td></tr>
</table>

但输出根本没有空间..如果我在<td>.使用填充标记它运行良好。 由于填充在IE中不起作用。我使用了另一种方法。

我创建了两个虚拟行;一个在顶部,另一个在底部和虚拟列一个在右边另一个左边,我用填充称呼它们。这是工作。如果有更好的方法可以在内容周围留出空间,请告诉我。

5 个答案:

答案 0 :(得分:4)

IE不支持在表上填充。我猜你想这样做是为了在表格的边缘和内容之间留一个空格。

但是通过将表放在div中(这是跨浏览器),您可以获得相同的结果。

<div style="padding:100px; border: solid black 1px">
  <table border="1" style="border: solid transparent 0px; width:100%">
        <tr><td>123</td></tr>
        <tr><td>456</td></tr>
        <tr><td> 678</td></tr>
        <tr><td>kzuk</td></tr>
    </table>
</div>

div将模仿桌子的外边界。

编辑: 这仅适用于您的桌子宽度为100%的情况。但是,您可以限制div的宽度,但是您必须知道它想要的宽度。

<div style="padding:100px; border: solid black 1px; width:300px">
  <table border="1" style="border: solid transparent 0px; width:100%">
        <tr><td>123</td></tr>
        <tr><td>456</td></tr>
        <tr><td> 678</td></tr>
        <tr><td>kzuk</td></tr>
    </table>
</div>

答案 1 :(得分:2)

检查你的ie是不是在quircks模式下运行,验证你是否将这些行放在你的html之上:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

他们将阻止ie加载quircks模式

记住,如果你在桌子上应用填充,比如

<table style="padding: 100px">

这会在表格及其内容之间留出空格,如果您想在单元格及其内容之间留出空间,就像vikrash所说,或者您可以使用cellpadding

答案 2 :(得分:2)

http://www.w3schools.com/CSS/css_table.asp
表填充仅通过单元格(td)实现

答案 3 :(得分:1)

你应该使用这样的东西:

<td style="padding: 10px">

CSS样式'填充'应该应用于td而不是表格。

答案 4 :(得分:0)

如何使用保证金替换填充

margin: 5px 0 0 5px;