2011-12-10 14 views
2

IEは私をクレイジーに駆り立てています。実際のアプリケーションでは、左側に画像があり、右側にいくつかのリンクがあり、その間に標準のテキストがあります。以下の例では、別のものの中に3つのdivがありますが、問題を示すだけで十分です。IE8:float inside li

この例は、2倍の同じ構築物を有する。一度は裸で、一度はリストにカプセル化されています。 Firefoxは

|Left text|Center text<-->|Right text| 

を表示します。リストはインデントされますが、一般的に同じです。

IE8は、裸の構築物について同じことを示す。しかし、カプセル化されたコードのためのものがゆがんで行く:

|Left text|<-->|Right text| 
|Center text<-->   | 

上部ギャップが黄色であることで、すなわち含むDIVを。

CSSの動作が直感的であるとは限りませんので、下のコードがどの標準にも衝突するかどうかを知りたいと思います。そしてそれが十分に適合しているなら、意図した通りにIE8をレンダリングする助けとなる方法はありますか?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html lang="de" xml:lang="de" xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Float Test for IE</title> 
<style> 
    .meta-left { 
    float: left; 
    background-color: red; 
    } 
    .meta-right { 
    float: right; 
    background-color: blue; 
    } 
    .meta { 
    background-color: green; 
    } 
    .meta-container { 
    background-color: yellow; 
    } 
    ol { 
    clear: both; 
    list-style: none; 
    } 
    p { 
    padding: 0; 
    margin: 0; 
    } 
</style> 
</head> 
<body> 
<div class="meta-container"> 
    <div class="meta-left"> 
    <p>Left text</p> 
    </div> 
    <div class="meta-right"> 
    <p>Right text</p> 
    </div> 
    <div class="meta"> 
    <p>Center text</p> 
    </div> 
</div> 
<ol><li> 
    <div class="meta-container"> 
    <div class="meta-left"> 
    <p>Left text</p> 
    </div> 
    <div class="meta-right"> 
    <p>Right text</p> 
    </div> 
    <div class="meta"> 
    <p>Center text</p> 
    </div> 
    </div> 
</li></ol> 
</body> 
</html> 
+0

実際にIE8でjsfiddle http://jsfiddle.net/g8Y8V/でこれを試しました。すべてが期待どおりに機能しました。あなたは何をしようとしていますか? – alonisser

+0

http-equiv = "X-UA-Compatible" content = "IE = edge | metaタグを追加しようとしましたか?IEが最も高度なレンダリングエンジンでレンダリングするように強制しますか? – alonisser

+0

興味深いことに、jsfiddle.netバージョンは、 メタタグがようやくトリックをしました。ありがとうございました! –

答えて

1

http-equiv="X-UA-Compatible" content="IE=edge"メタタグを追加してみませんか? IEをもっとも高度なレンダリングエンジンでレンダリングさせてください。

+0

これはコメントの答えとしてこの解決策を確認したようです上記のように+1 –

0

センターテキストをフローティングしようとしましたか? IEはどこに置くべきか分からないので、おそらく何かをしています。さらに、IEはやっかいです! :)

+0

固定幅がないので、それは包囲リストの幅を埋めるので、私は中心を浮かべることはできません –