0

The nav bar displays the correct way (horisontally) in IE 8 and above and every other browser. However only IE 5.5, 6 and 7 it displays diagonally. Can any body help?

.top-nav ul {
margin: 0;
list-style: none;
line-height: normal;
}

.top-nav li {
margin-left: 220px;
}

.top-nav a {
display: block;
float: left;
height: 38px;
margin-right: 1px;
padding: 4px 30px 0 30px;
text-decoration: none;
font-size: 34px;
font-weight: bold;
font-family: 'Exo', sans-serif;
color: #FFF;
}

.top-nav a:hover {
background:  #272727;
color: #18942f;
}

.top-nav .current_page_item a {
background:  #252525;
color: #FFF;
}

HTML

<div class="top-nav"> 
  <ul> 
    <li><a href="index.html" class="links">Home</a></li> 
    <li><a href="aboutme.html" class="links">About Me</a></li> 
    <li><a href="skills.html" class="links">Skills</a></li> 
    <li class="current_page_item"> <a href="#">Contact</a></li> 
    </ul> 
</div>

here's a screenshot

4

2 回答 2

0

而不是浮动每个链接,为什么不在你的 li 上使用 display:inline,display:inline 在 IE 5.5 上工作

您还需要删除“显示:阻止”,因为这是导致链接向下移动的原因。

.top-nav ul {
margin: 0;
list-style: none;
line-height: normal;
}

.top-nav li {
 display: inline;
}

.top-nav a {
height: 38px;
margin-right: 1px;
padding: 4px 30px 0 30px;
text-decoration: none;
font-size: 34px;
font-weight: bold;
font-family: 'Exo', sans-serif;
color: #aaa;
}​

http://jsfiddle.net/YJjya/


如果您需要将项目设置为块,请使用 inline-block。可以在此处找到使其适用于旧版本或 IE 的解决方法:Work Around Inline Block


这里还有一段方便的代码,可以放在你的第一个 head 标签之后。它只会显示用户正在使用 IE 7 或更高版本,并会告诉他们把他们的 sh*t 放在一起并下载新的浏览器。真的不值得花时间让你的网站在每个 IE 版本上都能运行,因为你最终会为了取悦一些显然不精通互联网的人而费尽心思。正如马里奥所说,世界上只有 6% 的人仍在使用 IE6……但如果你仔细看看美国或英国等国家,这个数字低于 1%

头后

<!--[if lt IE 7]>
    <p class="chromeframe">You are using an outdated browser. <a href="http://browsehappy.com/">Upgrade your browser today</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to better experience this site.</p>
<![endif]-->

CSS

.chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}
于 2012-11-10T11:15:22.297 回答
0

我已经多次看到这个问题。您想要浮动 LI 而不是 LI 内的 A。

您需要做的就是从 [.top-nav a] 类中删除 [float:left] 并将其添加到 [.top-nav li] 类中。您的 CSS 将是:

.top-nav ul {
margin: 0;
list-style: none;
line-height: normal;
}

.top-nav li {
margin-left: 220px;
float: left;
}

.top-nav a {
display: block;
height: 38px;
margin-right: 1px;
padding: 4px 30px 0 30px;
text-decoration: none;
font-size: 34px;
font-weight: bold;
font-family: 'Exo', sans-serif;
color: #FFF;
}

.top-nav a:hover {
background:  #272727;
color: #18942f;
}

.top-nav .current_page_item a {
background:  #252525;
color: #FFF;
}
于 2013-09-06T18:22:50.263 回答