【问题标题】:Why isn't min-width working for ie6?为什么最小宽度不适用于 ie6?
【发布时间】:2011-04-18 21:28:05
【问题描述】:

我正在编写专有的 ie6 css,其中我遇到了问题。页脚不采用最小宽度值,但它接受固定宽度值。我正在为图像使用 repeat-x 并为其分配最小宽度值。我对 header div 做的同样的事情,它工作得很好。例如,这是我的代码。

我用于相同目的的 HTML 标题。

<div id="header">
<!-- top-menu -->
    <div id="top-menu">
        <div id="left-logo">
        <a href="#"><img src="img/logo-left.png" alt="BhatkalNews" /></a>
        </div>
        <div id="navigation">
        <ul>
        <li class="contact"><a href="#"><img src="img/contact.png" alt="contact" /></a></li>
        <li class="photo"><a href="#"><img src="img/photo.png" alt="photo"/></a></li>
        <li class="video"><a href="#"><img src="img/video.png" alt="video" /></a></li>
        </ul>
        </div>
        <div id="right-logo">
        <a href="#"><img src="img/logo-right.png" alt="BhatkalNews" /></a>
        </div>
    </div>
</div>

这是我用过的css。

#header {
    min-width: 1040px;
    height: 111px;
    background: url('../img/header-bg.jpg') repeat-x;
}

出于同样的目的,页脚代码是。

<div id="footer">
</div>

和css

#footer {
    min-width:1040px;
    background:#36240A url('../img/footer.jpg') repeat-x;
    height:291px;
}

为什么页脚不指定最小宽度?

【问题讨论】:

    标签: html css internet-explorer-6


    【解决方案1】:

    Min-width 不适用于 IE6 - 这并不奇怪,因为 IE6 很糟糕。

    有一些解决方法,这里是one

    {width:90%; min-width:1040px}
    

    基本上,将宽度与百分比一起使用 - 您必须根据要达到的目标对百分比进行试验。

    【讨论】:

      【解决方案2】:

      IE6(甚至不是 7)不支持最小宽度。

      试试这样的表达方式

      width: expression( document.body.clientWidth < 1040 ? "1040px" : "auto" );
      

      【讨论】:

      • 另外我刚刚注意到您的表达式设置了“最大宽度”而不是“最小宽度”
      • @Stephen:我同意 Vinay 的观点,您提供的链接的样式在 IE6 only 块中具有表达式。然后它在你调整大小等时使用 javascript。
      • +1 表示最适合问题的解决方案(仅为 ie6 设计)。但是你应该修复解决方案!它仍然设置最大宽度。
      • 当心!使用 CSS 表达式时的控制流程一点也不明显,很容易导致计算表达式导致表达式再次计算的情况,在无限循环中将冻结用户的浏览器。检查 clientWidth 是否小于 大于 所需的最小宽度。
      【解决方案3】:

      不幸的是 min-width 在 IE6 中根本不起作用。如果您绝对需要使用 min-width,可以尝试一些基于 javascript 的 hack。

      【讨论】:

      • 如果是这种情况,那么它是如何用于标题的,我使用许多工具进行了 ie6 测试。
      • IE6 不支持 最小宽度。您看到的可能是 DIV 是块级元素,因此默认情况下是 100% 宽度。
      【解决方案4】:

      ie6不支持min-width和max-width。

      Here is a workaround 是我通过 google 快速找到的。

      虽然我没有测试过,但似乎还不错。

      【讨论】:

        【解决方案5】:

        这仅适用于 IE:

        #footer{
            width:expression
                (document.body.clientWidth < 1040? "1040px": "auto")
        }
        

        【讨论】:

        • @Ibrahim 当你的意思是“不是”时停止使用“ain't”。 “不是”不是一个词。
        【解决方案6】:

        试试_width: 1040px;min-width: 1040px;

        【讨论】:

        • IE 6 不支持最小宽度,但它处理宽度很像最小宽度。您的答案使用了 IE6 忽略前导下划线的技巧,从而向 IE 提供宽度,而其他浏览器会忽略该宽度。
        【解决方案7】:

        坦率地说,没有一个解决方案对我来说令人满意。在做了一个解决方法后,我想出了这个解决方案。

        <div id="footer">
            <div id="footer-content">
            </div>
        </div>
        

        我定义了页脚。并将页脚内容包裹在其中并分配 990px​​ 的宽度,因为我希望将内容包裹在 940px 内,我给了 50px 的填充;靠左。这是我使用的css。

        /*footer*/
        #footer {
            height: 291px;
            background: url('../img/footer.jpg') repeat-x;
        }
        #footer-content {
            margin:0 auto!important;
            width: 990px;
            height:291px;
            padding-left:50px;
        } 
        

        这对我来说非常好,即使我正在调整大小,div 的位置也非常好。谢谢你所有的帮助。 :)

        【讨论】:

          【解决方案8】:

          由于您是专门为 IE6 编写代码,所以使用起来会简单得多:

          宽度:1040px;

          IE6 无法识别 min-width,但会错误地处理 width,就好像它是 min-width。

          (如果它不是专门用于 IE6,您可以使用 hack,例如他们已经建议您的 _width ......或者,甚至更好,使用条件 cmets)。

          【讨论】:

            【解决方案9】:

            我在这里解释了如何在 IE6 中使用 min-width 或 min-height:Min width in window resizing

            【讨论】:

              猜你喜欢
              • 2016-08-11
              • 1970-01-01
              • 2012-05-18
              • 1970-01-01
              • 2014-09-10
              • 1970-01-01
              • 1970-01-01
              • 2018-08-04
              • 1970-01-01
              相关资源
              最近更新 更多