IE7浮动框在页面加载后跳转

时间:2011-01-06 12:06:14

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

我遇到了两个左浮动框的问题,这些框没有被Internet Explorer 7正确呈现。
我有两个小div框,包含一些彼此相邻的表单元素,它们都向左浮动。第一个框的左边距为25px,以提供与容器的一些距离,旁边的框左边距为15px,以便在两个框之间留出一些空间。
当页面在Internet Explorer 7中加载时,第一个框(左边距为25px)最初正确显示,但当页面完成加载时,它突然跳到左边,好像它没有任何边距。
当我将两个盒子设置为浮动时:右边的问题似乎已经解决但我真的需要让它们向左浮动。有没有人知道如何解决这个问题?

更新
我看了一下,看看问题可能是什么。首先我尝试了hasLayout属性,但似乎它与我的问题没有任何关系。但是,在这两个框下面有一个div,它通过页面加载时的AJAX请求填充内容。当我禁用AJAX请求时,框似乎保持其位置而不是向左移动..我不知道这两个div之间的关系是什么,因为通过AJAx接收它的内容似乎影响上面的div。执行$ .post(); ..

的jQuery函数不会篡改CSS属性

HTML:

<div id="box_a" class="boxes">
<h2>Box A</h2>
    <ol>
        <li><label for="input1">Input 1</label><input type="text" name="input1" id="input1" /></li>
        <li><label for="input2">Input 2</label><input type="text" name="input2" id="input2" /></li>
    </ol>
</div>
<div id="box_b" class="boxes">
<h2>Box B</h2>
    <ol>
        <li><label for="input3">Input 3</label><input type="text" name="input3" id=" input3" /></li>
        <li><label for="input4">Input 4</label><input type="text" name="input4" id="input4" /></li>
    </ol>
</div>

CSS:

div#box_a {
    float:left;
    margin-left:25px;
}

div#box_b {
    float:left;
    margin-left:15px;
}

div.boxes{
    padding:5px;
    border:1px solid #C5C5C5;
    background:#F4F2F3;
    width:255px;
    margin-bottom:5px;
    position:relative;
}

提前致谢

1 个答案:

答案 0 :(得分:0)

这对我有用: ie8 div jumps after page load

简而言之,在浮动框上使用padding-left而不是margin-left。