IE8中的CSS div宽度

时间:2009-07-27 03:11:30

标签: html css internet-explorer

我对html和CSS很新,所以请随意批评你在下面的代码中看到的任何不良做法......

我正在尝试创建一个800像素的居中列,横幅将调整为800像素。在chrome或firefox中查看此页面时,它看起来很棒。当我在IE8中查看它的字体是巨大的时,横幅的右侧一直到底部有一个巨大的空白点,无论我在做什么,“容器”的大小都不会改变。 css文件。

CSS:

body {
    font-family: Arial;
    font-size: small;
    background-color: #FFFFFF;
    background-image: url(../images/victorianBackground.jpg);
    background-position: top;
    background-repeat: repeat;
    color: #000000;
}
#container {
    margin: -10 auto;
    background-color: #D3CDBA;
    text-align: left;

}

html>body #container {
    width: 800px;
    min-height:800px;
    padding: 0 0px;
}

#banner {
    width:800px;
}

#banner img {   
    width:800px;    
    padding:45 0px;
}

#content {
    width:500px;
    padding: 15px;
    background-color: transparent;
}

/* Navigation */
#navigation ul {
    list-style-type: none;
    width: 800px;
    margin: 0;
    padding: 0;
}
#navigation li {
    float: left;    
    background-color: #D3CDBA;
}
#navigation li:hover {
    float: left;    
    color: #4676A4;
    background-color: #D3CDBA;
}
#navigation a {
    font-weight: bold;
    text-decoration: none;
    color: #000000;
    display: block;
    padding: 5px;
}
#navigation a:hover {
    font-weight: bold;
    text-decoration: none;  
    color: #992332;
}

#content a {    
    color:teal;
}

HTML:

<html>

    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>Park Avenue Neighborhood Association</title>
        <meta name="keywords" content="Park Avenue Neighborhood Association Syracuse New York"/>
        <link rel="stylesheet" type="text/css" href="../styles/style1.css">
    </head>

    <body>

<div id="container">

        <div id="banner">
            <img src="../images/banner.jpg" id="banner">
            <br/>
        </div>

        <div id="navigation">
            <ul>
                <li><a href="home.html">Home</a></li>
                <li><a href="History.html">History</a></li>
                <li><a href="Houses.html">Houses</a></li>
                <li><a href="LocalBusiness.html">Local Business</a></li>
                <li><a href="events.html">Events</a></li>
                <li><a href="Contacts.html">Contacts</a></li>
            </ul>
        </div>

<div id="content">

<h2>Content Header 1 </h2>

<p>Awesome Content </p>

<h2>Content Header 2 </h2>

<p>Awesome Content </p>

</div>

    </body>
</div>
</html>

3 个答案:

答案 0 :(得分:8)

我看到您的来源有多个问题。非详尽清单:

1)您需要一个doctype。否则,浏览器将以非标准方式呈现项目。

示例:

 <!DOCTYPE HTML PUBLIC 
 "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

2)在<{em> <div>标记之后,您有</body>个结尾。这是无效的。

修正:

 <p>Awesome Content </p>
 </div>
 </div>
 </body>     
 </html>

3)您不需要<br>中的额外<div id="banner">

修正:

 <div id="banner">
      <img src="../images/banner.jpg" id="banner">
 </div>

4)现在,如果您希望<div id="container">居中并且宽度为800像素,请尝试以下操作。

将css中的代码居中(替换现有代码):

 body { text-align: center; }

 #container { 
      text-align: left; 
      width: 800px; 
      margin: auto;
 }

5)对于font-size声明,您使用的是small。这将表现得不可预测。相反,请考虑使用empx作为字体大小。

em的字体大小:

 body { font-size: 100%; line-height: 1.125em; }
 #container { font-size: 0.875em; }

px的字体大小:

 body { font-size: 16px; line-height: 1.125em; }
 #container { font-size: 12px; }

答案 1 :(得分:3)

我看到的第一件事,你需要将它添加到HTML的第一行,以强制IE以标准模式呈现,而不是怪癖模式:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">

答案 2 :(得分:2)

关于横幅中心,请尝试添加以下内容:

身体选择器中的

text-align:center;

横幅

margin-right:auto; margin-left:auto;

关于字体大小,请尝试使用em或%sizing。

除此之外,一次只解决一个问题,逐步微调细节。一下子抛出所有东西只会造成混乱 - 它不会像预期的那样工作,但会让你感到沮丧。