2011-06-14 131 views
4

我有以下HTML:IE7浮動錯誤解決方法?

<div><span>left</span><span style="float:right;">right</span></div> 

出於某種原因,浮動:正確的,漂浮到右,但下降1個太行。爲什麼會發生這種情況,是否有解決方法?

這裏是展示它的行動的jsfiddle:http://jsfiddle.net/CxaW6/

但它只會顯示的bug,如果你正在尋找通過IE7的鏈接。

回答

2

讓另一個跨度浮動左邊將解決這個問題。

<div><span style="float:left;">left</span><span style="float:right;">right</span></div> 

通常span被視爲內聯元素。 IE7似乎以不同的方式處理它們,因此將第一個跨度的寬度(在佈局過程中)擴展到100%。在這種情況下,此行中沒有足夠的空間用於其他跨度,因此它將被包裝到下一行。

0

將第一個跨度浮動到左側,或者將第一個跨度浮動到右側並從第二個跨度中移除浮動屬性。

+0

或者,在左跨度之前放置右跨距。這也適用。 – jcolebrand 2011-06-14 14:32:46

2

您可以使用float: left(我的首選解決方案)將明確留下的跨度浮動起來,也可以先將浮動跨度放在標記中。問題在於IE7給出了第一個跨度的虛擬全寬,導致第二個跨度在「下一行」上呈現。