2011-07-06 18 views
2

強制的なインライン要素に背景色を適用したいとします.Ie7の背景色を表示しますが、firefox4では色が表示されません。なぜ、どうやってこれを並べ替えるのですか?なぜfirefox4はliの背景色を表示できませんか?

Jsfiddle http://jsfiddle.net/ybYxq/

<ul id="in"> 
       <li><h1>sfffffh</h1></li> 
       <li><h1>QssssfffffhQ</h1></li> 
       <li><h1>ZssssssZ</h1></li> 
      </ul> 

CSS #IN李{背景:#0CF;表示:インライン;} #IN {フロート:右;}

+0

私のクロムはそれを表示していない..彼は? – ppumkin

+0

代わりにクラスを使用し、これを見てくださいhttp://jsfiddle.net/ppumkin/ybYxq/1/ – ppumkin

+0

私のコードが機能しない理由について何か説明できますか? –

答えて

1

ビマルはこれを試してみてください。

liからh1タグを削除し、フォントスタイリングをliに追加します。

CSSを使用する必要があります。

#in li{background-color:#171817;display:inline; color: white; font:12px Tahoma;} 
#in{float:right;} 

HTMLは

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 

</head> 

<body> 


       <ul id="in"> 
        <li>sfffffh</li> 
        <li>QssssfffffhQ</li> 
        <li>ZssssssZ</li> 
       </ul> 


</body> 
</html> 

である必要があり、これは動作します...ちょうど私のコメントすべての問題を試してみてください。素敵な一日を。

1

のいくつかのより多くの例は実際に、それが機能していない李にすべてのものに適用する*

.in li *{background-color:red; display:inline;} 

を使用することができます

jsfiddle.net/ppumkin/ybYxq/1

クローム。

試行: #IN李{背景:#1 b2b2b2;} #IN {フロート:右;}

どちらか: #IN李{表示:インラインブロック。バックグラウンド:#b2b2b2;} #in {float:right;}

私はうまく覚えているので、2番目のIEに問題があります。

1

あなたはdisplay: inline; background:#0CFh1の設定の代わりに、liの上でそれを設定することで、すべてのブラウザでIE7で何が起こるか再作成することができます。

http://jsfiddle.net/ybYxq/3/

1

"インライン"の中の "ブロックされた" h1のように見えますが、何とか干渉しています。あなたが追加した場合:

#in li h1 { display:inline; } 

(少なくともFirefox 5では)背景が表示されます。

1

一般に、インライン要素のスタイルは、要素をブロックするためにカスケードしません。(IE7はちょっとバグです)h1をスパン(またはh1をインラインに設定)に変更すると、すべて動作します。

関連する問題