0

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

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: leftlist-items (さらに a を適用しclear: leftないと、並べて表示されます)
  2. line-height: 30pxリスト項目に設定
于 2012-04-18T08:13:57.040 に答える