代码之家  ›  专栏  ›  技术社区  ›  Dan Hanly

在IE中真的很令人沮丧

  •  0
  • Dan Hanly  · 技术社区  · 14 年前

    #wrapper{
        width:1000px;  
        height:750px;
        margin:auto;
    }
    
    #left{
        width:500px;
        height:750px;
        float:left;  
        position:relative;
    }
    
    #right{
        width:500px;
        height:750px;
        float:right;
        position:relative;
    }
    

    在Chrome中,没问题。

    在Firefox中,没问题。

    在Safari,没问题。

    在IE中,右div在水平方向上位于同一位置,但在垂直方向上位于左div的下方。

    我试过几种不同的方法来解决这个问题。将包装行高度设置为0,将右侧显示设置为inline,减小右侧和左侧div的大小(我认为可能存在边距/填充问题)。我已经没有主意了,有人能帮我解决这个问题吗?

    在所有浏览器中(IE除外): alt text

    在IE中: alt text

    3 回复  |  直到 14 年前
        1
  •  2
  •   Pat    14 年前

    你发布的CSS没有问题。它将在 all browsers as expected (在我的示例中,我减小了宽度)。

    所发生的事情是,在一个列中有一个元素,该元素强制任意一个列的宽度 #left #right 大于500px。解决这个问题的最简单方法是开始移除元素,直到浮动下降消失。然后,您就可以找出是否有一个解决方案(即设置其宽度或设置 overflow: hidden scroll ).

        2
  •  1
  •   derekerdmann    14 年前

    float:left 对于两个 #right #left 潜水。你也可以把 position: relative 也。

        3
  •  1
  •   Thomas Clayson    14 年前

    把左右两边的div都放在浮动:左