【问题标题】:In IE6, how to float item to right without clearing it?在 IE6 中,如何将项目向右浮动而不清除它?
【发布时间】:2011-04-30 06:52:14
【问题描述】:

在IE6中,HTML如下:

<div id="topmenu">
    <ul>    
        <li>num 1</li>
        <li>num 2</li>
    </ul>
    <div id="rightItem">Hello World</div>
</div>

CSS如下:

#rightItem {
    cursor: pointer;
    float: right;
    clear: none;
    height: 100%;
    width: 340px;
}

#topmenu {
    margin: 0 auto;
    text-align: left;
    width: 960px;
    height: 41px;
}

在除 IE6 之外的所有浏览器中,它会将 itemRight 浮动到同一行的右侧(首先是 UL,然后是 rightItem)。 在 IE6 中,它是 CLEARING 并向右浮动。如何修复 IE6?

【问题讨论】:

  • 请提供更多源代码。除了#rightItem,你还有什么?
  • 我能找到的是,这是清单中的问题。列出的css如下:#topmenu ul { clear: none;显示:块;填充:0;边距:0 自动;宽度:900px;空白:nowrap; } #topmenu ul li { 显示:内联; } #topmenu ul li a { 边距:0;填充:0 12px;文字装饰:无;字体大小:13px;文本对齐:居中;向左飘浮;行高:41px;字体系列:verdana,无衬线;空白:nowrap;颜色:#000000; }
  • 所有的浏览器(甚至是 IE6)都会渲染你给的代码……而这些括号在代码中是做什么的?!
  • 好吧,我试过你的代码,IE6 的呈现方式与所有新浏览器的呈现方式相同。

标签: css css-float internet-explorer-6


【解决方案1】:

我怀疑#rightItem 并没有真正清除,但它的宽度在 IE6 中不同(更宽),这导致它向下推到下一行。

浮动元素应始终指定宽度;尝试先这样做,看看你会得到什么结果。在没有看到更多 HTML 或 CSS 的情况下,这是我最好的猜测,我只是在猜测,因为我厌倦了在评论字段中输入“发布更多代码”这些词......

【讨论】:

  • 我已经更新了 html。我把宽度放在其他浏览器上没问题,但在IE6中还是一样
  • 完美的猜测!...宽度是问题
【解决方案2】:

添加溢出:隐藏;到#topMenu。适用于所有浏览器。

见:http://www.quirksmode.org/css/clearing.html

【讨论】:

    猜你喜欢
    • 2011-01-04
    • 2012-06-17
    • 1970-01-01
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    • 1970-01-01
    • 2012-05-29
    • 2016-07-11
    相关资源
    最近更新 更多