CSS - li元素在IE中无法正常显示

时间:2012-04-18 08:02:24

标签: css list

我在IE(8)中显示li元素时出现问题,看起来我想要的是FF。

IE在元素的底部放置4px的边距。这是代码。我可以通过向元素添加-4px边距来移除边距,但然后在FF中缩小它。

所以基本上IE让我更胖。

#navigation ul {
    width: 176px;
    margin: 0px 1px 2px 0px;
    padding: 0px 0px 0px 0px;
    list-style: none;
    -webkit-box-shadow: inset 0px 0px 4px 4px #000001;
    -moz-box-shadow: inset 0px 0px 4px 4px #000001;
    box-shadow: inset 0px 0px 4px 4px #000001;  
    border: 1px solid white;
    -webkit-border-radius: 0px 0px 10px 10px;
    -moz-border-radius: 0px 0px 10px 10px;
     border-radius: 0px 0px 10px 10px; 
    float: left;
}
#navigation li {
    height: 30px;
}
#navigation li:hover {
    background: none;
    -webkit-box-shadow: inset 0px 0px 4px #000;
    -moz-box-shadow: inset 0px 0px 4px #000;
    box-shadow: inset 0px 0px 4px #000;
}
#navigation li:last-child {
    -webkit-border-radius: 0px 0px 10px 10px;
    -moz-border-radius: 0px 0px 10px 10px;
    border-radius: 0px 0px 10px 10px;
}
#navigation ul li a {   
    display: block;
    padding: 8px 8px 8px 8px;
    font: bold 12px Helvetica;
    color: #444;
    text-decoration: none;
    border-bottom: 1px solid #999;
    border-top: 1px solid #FFF;
}
#navigation ul li a:hover {
color: blue;
}
#navigation ul li:first-child a {
    border-top: none;
}
#navigation ul li:last-child a {
    border-bottom: none;
}

li元素背景的代码(其中很多 - 它就像一个图像拼图):

#c1l1 { background: url(img/new-1-0-0-0-01-02.png);}
#c1l2 { background: url(img/new-1-0-0-0-01-03.png);}

有什么建议吗?

4 个答案:

答案 0 :(得分:0)

尝试在display: inline;元素上设置<li>。当然,仅适用于IE(使用条件注释)。

答案 1 :(得分:0)

尝试添加

//margin: -4px;

适用于所有版本的IE

答案 2 :(得分:0)

我认为您是浏览器样式表及其样式的受害者。我建议将ul和li元素的填充和边距重置为0.此重置应在应用其他样式之前完成,并应应用于所有浏览器以获得一致的布局。

答案 3 :(得分:0)

尝试以下其中一项:

  1. float: left list-items(然后同时应用clear: left或者您会看到它们并排排列)
  2. line-height: 30px设置为list-items