0

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

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

所以基本上 IE 让我的 li 变胖了。

#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

4 回答 4

0

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

于 2012-04-18T08:05:41.273 回答
0

尝试添加

//margin: -4px;

应该适用于所有版本的 IE

于 2012-04-18T08:07:18.367 回答
0

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

于 2012-04-18T08:07:50.147 回答
0

尝试其中之一:

  1. float: left列表项(然后也应用 aclear: left或者您会看到它们并排对齐)
  2. 设置line-height: 30px为列表项
于 2012-04-18T08:13:57.040 回答