免責事項:私は自分の頭でこの問題を何度も経験しましたが、疑いがあります。このCSSデザインのどの部分がIEから離れていますか?
私はCSSを使って2列のレイアウトを達成しようとしていましたが、左側の列はナビゲーション用で、垂直のナビゲーションは保持しません。右側の列はコンテンツ用です。コンテンツの長さは異なりますが、常に右側の列のナビゲーションよりも長くなります。私はまた、少なくとも優雅な劣化を目指しています< = IE7と私はそれを助けることができますJavaScriptがありません。
私はotherquestionsが幾分似たようなものを目指していることがわかりました。それは私がthis articleを見つけた方法でした。
私のデザインを適用しようとした後、私は働くと思ったものを考え出しました。ここ
jsfiddle:http://jsfiddle.net/FVsSV/2/
関連HTML:
<div id="mainCont">
<div id="sidebar">
<a href="#">dapibus sit a</a>
<a href="#">dapibus sit a</a>
<a href="#">dapibus sit ag</a>
<a href="#">dapibus sit a</a>
<a href="#">dapibus sit a</a>
<a href="#">dapibus sit a</a>
<a href="#">dapibus sit a</a>
</div>
<div id="content">
<div id="padding-wrapper">
<h1>uris et lorem gravida condiment</h1>
<h3 id="toc">apibus sit am</h3>
Content content content...
</div>
</div>
</div>
関連するCSS:
#mainCont { background-color: #000; overflow: hidden; padding-left: 148px; /* The width of the rail */ height:1%; /* So IE plays nice */ } #sidebar { display: inline; background-color: #9BBCE4; width: 148px; float: left; margin-left: -148px; } #sidebar a { display: block; padding: 15px 0px; font-size: 1.1em; text-align: center; color: #2C2C2C; text-decoration: none } #sidebar a:hover { background-color: #4e88ce; color: #FFFFFF; } #content{ background-color: #FFFFFF; width:100%; border-left: 148px solid #9BBCE4; margin-left:-148px; } #padding-wrapper { padding: 30px 30px; } /* content formatting*/ #content h1 { font-size: 1.5em; margin: 15px 0px 20px 0px; } /* content formatting END*/
それはFF8とIE8でうまく見えますが、私はIE 7でそれを確認したときに"互換性のビュー"、それはかなり台無しに見えて、私は原因が何であるか、またはそれが簡単に修正することができますか分からない。
私が紛失していることは明らかですか、この方法はIE6-7との互換性を試す価値はありませんか?
"インライン"と "フロート"を組み合わせないでください。 "float"を使用してください。 –
@Diodeus: 'display:inline'スタイルは[IE6の浮動要素のダブルマージンバグ]の回避策です(http://www.positioniseverything.net/explorer/doubled-margin。html)。他のブラウザは、その宣言を無視して要素をブロックにします。興味深いのは – BoltClock