IE7定位问题

时间:2012-07-23 09:15:56

标签: html css internet-explorer-7

我在IE7中有一个奇怪的布局问题。基本上发生的是,它不是将内容对齐到左上角,而是应该在哪里,而是与中间的某个位置对齐。

似乎一切都正确显示,但main-bank-container是一个不合适的元素。我真的不想绝对定位这个,因为这意味着我必须用jQuery来保持包含div的高度而不是隐含。

我已设置jsFiddle here来帮助。

以下是代码:

HTML

<div style="padding: 4px;" class="nopad" id="maincontent">
    <div id="summary-page-container">
        <div id="main-bank-container">
            <div id="bank1" class="bank-container">
                <div class="basicview">
                </div>
            </div>
            <div id="bank2" class="bank-container">
                <div class="basicview">
                </div>
            </div>
            <div id="bank3" class="bank-container">
                <div class="basicview">
                </div>
            </div>
            <div id="bank4" class="bank-container">
                <div class="basicview">
                </div>
            </div>
        </div>
        <div style="clear: both;">
        </div>
    </div>
</div>

CSS

#maincontent {
    overflow: hidden;
    text-align: center;
}
#summary-page-container {
    overflow: hidden;
    position: relative;
    width: 1400px;
}
#main-bank-container {
    width: 690px;
}
.bank-container, .bank-container-small {
    border: 1px solid #CFCFCF;
    border-radius: 5px 5px 5px 5px;
    color: #555555;
    height: 90px;
    margin: 10px;
    position: relative;
    text-align: left;
    text-shadow: 0 1px 1px #FFFFFF;
    width: 670px;
}
.basicview {
    background:-webkit-gradient(linear,left top,left bottom,from(#ffffff),to(#ebebeb));
    background:-moz-linear-gradient(top,#ffffff,#ebebeb);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#ffffff', endColorstr='#ebebeb')"; /* IE8 */
    filter:  progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#ffffff', endColorstr='#ebebeb'); /* IE6 & IE7 */

    border-radius: 5px 5px 5px 5px;
    height: 90px;
    width: 100%;
}
​

哦,如果这里重要的是mydoctype

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">

3 个答案:

答案 0 :(得分:2)

text-align: center;

中删除#maincontent

My Fiddle

答案 1 :(得分:0)

#main-bank-container {
    width: 690px;
    float:left;
}

答案 2 :(得分:0)

我可以看到的两个问题是#main-bank-container的宽度为690px,而摘要页面容器的宽度为1400px。

如果你删除了#maincontent div上的文本对齐中心声明,那么在IE9标准中使用IE7标准的小提琴也会看到它的位置。