为什么我的CSS + HTML网页在IE&火狐?

时间:2012-03-22 15:37:08

标签: html css

我的代码已经过w3school验证,但它在IE和Firefox中仍然有不同的显示方式。

我在顶部的链接栏似乎在IE中级联,但在Firefox中以直线显示(应该是这样)!

我的HTML

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

<html>

<head>

<link rel="stylesheet" type="text/css" href="lbf.css">

<title>Love British Film</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>
<body>
<div id="main_container">fegerfg

    <div id="header">
    <div class="logo">Love British Film.com </div>  
    </div>
    <div class="nav_bar">
        <ul class="nav_list">

        <li class="odd"><a href="index.html">Home</a></li>
        <li class="even"><a href="index.html">Reviews</a></li>
        <li class="odd"><a href="index.html">Forums</a></li>
        <li class="even"><a href="index.html">Videos</a></li>
        <li class="odd"><a href="index.html" >Downloads</a></li>
        <li class="even"><a href="index.html">News</a></li>
        <li class="odd"><a href="index.html" >Fun bits</a></li>
        <li class="even"><a href="index.html">Contact us</a></li>
        </ul>   
    </div>




        <div class="main_text">
        <div class="header">HEADER FOR MAIN CONTENT</div>


        Main content!!
        </div>

        <div id="film_of_day">Film of day </div>




        <div id="poll_of_week">asdnasdljasasdasfdasfasfas</div>




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

我的CSS代码

body
{
background:url(bg.jpg) no-repeat #FFF center top;
padding:0;
font-family:Arial, Helvetica, sans-serif;
font-size:11px;
margin:0px auto auto auto;

}

div {
margin: 0px;
padding: 0px;
width: 0px;
}

#main_container{
width:1200px;
height:auto;
margin:auto;
padding:0px;
}
#header{
position:relative;
width:1200px;
height:170px;
background:url(header.jpg) no-repeat center;
background-position:0px 0px;
margin:auto;
padding:5px;
}
.logo{
width:auto;
height:auto;
font-size:20px;
position:relative;
top:80%;  
text-align:right;
}
.nav_bar{
width:1200px;
height:50px;


}
ul.nav_list{
list-style-type:none; float:left; display:block; width:1200px; 
margin:0px; padding:0px;
}

ul.nav_list li.odd a{
display:block;width:150px; text-align:center; float:left;text-decoration:none; background:url(images/home.png) no-repeat left; 
background-color:rgb(147,216,255);height:40px; line-height:40px; color:rgb(168,100,63);
}
ul.nav_list li.even a{
display:block;width:150px; text-align:center; float:left;text-decoration:none; background:url(images/home.png) no-repeat left; color:rgb(168,100,63);
height:40px; line-height:40px;background-color:rgb(26,142,165);
}
a.odd:link, a.odd:visited {
display:block;width:133px; text-align:center; float:left;text-decoration:none; background:url(images/home.png) no-repeat left; }
ul.nav_list li.even a:hover{background-color:#A29;}
ul.nav_list li.odd a:hover{background-color:#F99;}

a.even:link, a.even:visited {
display:block;width:133px; text-align:center; float:left;height:40px;text-decoration:none; background:url(images/home.png) no-repeat left; color:#676d77;}
a.even:hover{
color:#FFFFFF;
}



.header{
width:500px;
text-align:center;
margin-bottom:50px;
}
.main_text{
display:inline-block;
float:left;
width:600px;
height:600px;
background-color:rgb(147,216,255);
}

#film_of_day{
float:right;
width:340px;
height:250px;
background-color:rgb(147,216,255);

}


#poll_of_week{
margin-top:50px;
float:right;
width:280px;
height:250px;
outline:solid;
padding:1px; 
}

2 个答案:

答案 0 :(得分:7)

欢迎来到现实世界 IE和Firefoy解释CSS彼此不同。这总是一个问题,而且永远都是!如果要减少不同的行为或外观,可以尝试使用所谓的CSS重置。

什么是css重置?
这是一个简单的css文件,它将每个定位,填充,边距,默认情况下从浏览器出现的所有内容重置为零。因此,您可以确保大多数样式都被解释为相同。当然,它总是不会相同,但它可以帮助你把它放在正确的方向。你也可以使用GridLayouts进行定位,这也是一个很棒的工具,在大多数浏览器中看起来都是一样的。

只是一个提示,用歌剧,镀铬,IE的老版,野生动物园打开它,你会惊讶它看起来也不同; - )

答案 1 :(得分:3)

您将a标记悬浮在li标记内,这不是一个好习惯并导致您出现问题。

你应该浮动你的li标记,并将你的a标记保留在内部作为链接

请参阅:http://jsfiddle.net/ZmhzA/1/