2009-09-11 54 views
2

我想知道清除浮動塊級元素的最佳元素是什麼?清除CSS中的浮點數的最佳元素?

現在,我主要用一個div或p元素來清除:both;應用。

你喜歡什麼樣的元素,或者像這樣做的「最佳實踐」是什麼?

+0

你是什麼意思的「最佳元素」? – rahul 2009-09-11 09:04:03

回答

8

如果你真的只是想清除它們,那麼無論什麼元素最能描述你想清除浮動內容的語義。

如果要使塊擴展爲包含所有浮動內容,則添加一個額外的元素(任何類型的元素)是最髒的選項。有a whole bunch of better ways to achieve the effect。我通常贊成在容器上設置overflow: hidden,但最好的選擇與上下文有所不同。

如果你真的想使用一個實際的(空)元素,那麼無論是div還是span是最好的 - 它們不會帶有額外的語義。

0

我有以下方面:

<div id="sidebarWrap"> 
    <div id="sidebarHandle"> 
     <a href="#"></a> 
    </div> 
    <div id="sidebar"> 
     <h2>Category</h2>       
    </div> 
    <p class="clear"></p> 
</div> 

凡#sidebarWrap絕對定位到它的右上方的父,和#sidebarHandle和#sidebar是浮動是彼此相鄰。 p.clear清除浮動。

在這種情況下,會有更好的解決方案嗎?

+0

這應該已經作爲您的問題編輯...要回答你的問題:這取決於內容。如果內容具有靜態大小,那麼您可以按照David的說法進行操作:sidebarWrap上的「overflow:hidden」。如果內容的大小發生變化,那麼您可能會在那裏得到最好的解決方案... – peirix 2009-09-11 09:17:34

+0

好的。我在這裏有不同的內容。 對於其他情況,我會嘗試溢出技術:-) – Alex 2009-09-11 09:20:41

+0

內容的大小不會有任何區別,溢出Vs額外的元素會更好。 – Quentin 2009-09-11 13:35:48