聲明:我已經在我自己的腦海中無數次地探討過這個問題,但是我懷疑我只是錯過了一些明顯的東西。這個CSS設計的哪個部分正在滴答IE呢?
我一直在試圖用CSS實現一個雙列布局,其中左列是導航(不要對我持有垂直導航),右列是內容。內容的長度各不相同,但總是比右列導航長。我的目標是至少在< = 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」 – 2011-12-22 20:17:37
@Diodeus:'display:inline' style是解決[IE6的浮動元素的雙重保證金錯誤](http://www.positioniseverything.net/explorer/doubled-margin。HTML)。其他瀏覽器將安全地忽略該聲明並將該元素轉換爲塊。 – BoltClock 2011-12-22 20:22:52