2010-05-29 75 views

回答

1

display: inline是一個修復IE6以防止雙重保證金錯誤。如果你曾經漂浮過一些東西,那麼包含它是個好主意。如果你有一個特定於IE的樣式表,那麼最好把它保留在那裏(否則它是無用的屬性)。

overflow: hidden是一種技術,用於強制包含浮動元素的元素佔用內容的全部高度。例如:

<div class="wrapper"> 
    <div class="floater">floating element</div> 
</div> 

這裏,包裝的高度爲0,因爲它只包含浮動元素。要解決這個問題,您需要將兩個屬性中的一個添加到包裝中:overflow: hiddenfloat: left

兩者都會強制包裝具有正確的高度,但浮動人員顯然也會浮動該元素,您可能不想要。如果包裝具有固定高度,則不要使用溢出,因爲文本可能會隱藏。

所以基本上,你不需要overflow: hidden,如果你已經有float: left。但是你可以爲IE6保留display: inline

0

我通常爲浮動元素設置display:inline;,尤其是用於水平導航的li。舊版IE瀏覽器往往會在頁邊空白處做奇怪的事情。就溢出而言,通常在父容器上使用清除浮動,如果你沒有任何相鄰的元素,你可以應用clear。您是否也應該將overflow:hidden應用於子元素?我現在還記不起,但是當子元素太大時,它可能會幫助老版本的IE擴展其父容器的邊界。 (正確的行爲決定了它們應該溢出自己的容器。)無論採用哪種方式,IE總是需要調整一下才能正確使用。 :)

相關問題