【问题标题】:How to get a DIV to be the correct width in IE8?如何让 DIV 在 IE8 中成为正确的宽度?
【发布时间】:2010-09-22 02:41:48
【问题描述】:

这听起来很简单,但我被卡住了。我需要在 IE8 中将 DIV 设置为 434 像素宽。以下是我的代码。这在 FF 中有效,但 IE8 总是以 414 像素的宽度呈现 DIV。为什么会砍掉 20 个像素?

<html>
<head>
    <style type="text/css">
    #box
    {
        width:434px;
        background-color:red;
        margin:0;
        padding:0;
    }

    </style>
</head>
<body>
    <div id="box">&nbsp;</div>
</body>
</html>

我也在严格模式下试过,结果一样。

【问题讨论】:

  • 您找到解决问题的方法了吗?这里的任何答案对您有帮助吗?
  • 不,从未找到解决方案。

标签: css internet-explorer-8 width


【解决方案1】:

IE 用滚动条做了一些奇怪的事情,并考虑了宽度。取出后会发生什么?

【讨论】:

  • 我在 BODY 和 #box 中都添加了 overflow:hidden,没有任何变化。
【解决方案2】:

Elmonty,请看看在 IE8 中不仅宽度而且高度更短。我认为这是一个常见的渲染问题。 IE8 中的画布将向您显示比其他浏览器更短的对象。例如,在两个浏览器中加载 this page 并在两者之间加载 Alt+Tab,你会看到发生了什么......

希望对你有帮助,

【讨论】:

    【解决方案3】:

    在我遇到利润问题之前的某个地方。我不记得了,但我将边距和填充的值设置为:

    margin :0px 0px 0px 0px;
    padding :0px 0px 0px 0px;
    

    而不是:

    margin :0;
    padding :0;
    

    请尝试这个小改动,让我知道这是否是你的 20 像素被砍掉的原因。


    编辑:请忽略此答案,因为它不合适。

    正如 raymon 所指出的,浏览器会以完全相同的方式呈现您提供的代码。您的问题可能是由于其他一些因素造成的......

    【讨论】:

    • 您能否解释一下为什么 IE8 对两种规范的解释不同?
    • 拉蒙,没有什么不同。我刚刚重新检查了这解决了我的问题的地方......它实际上是在一个父元素的上下文中,它取消了父元素设置的填充。对不起......我的错,不假思索地说话。
    猜你喜欢
    • 1970-01-01
    • 2021-03-30
    • 2012-04-08
    • 2019-08-21
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多