2010-07-30 52 views
0

我想創建一個HTML表單,並且我的浮動標籤離開,並輸入正確的,現在在FF它工作正常,並在IE8爲好,但是當我去到IE7,換行似乎完全消失,我的元素之間沒有空間,它會是什麼?IE浮動沒有填補錯誤

我該如何解決?

   <p> 
        <span class='left'><label for='gender'>Gender: </label></span> 
        <span class='right'><select name='gender' id='gender'> 
        <option>Select one</option> 
        <option>Male</option> 
        <option>Female</option> 
        </select> 
        </span> 
       </p> 
       <br /> 
       <p> 
        <span class='left'><label for='name'>Name: </label></span> 
        <span class='right'><input name='name' id='name' /></span> 
       </p> 
       <br /> 

現在由於某種原因,我沒有在IE7中的段落之間的空間,即使我正在使用休息。

Thanx提前。

回答

0

什麼元素包裹上面的代碼?嘗試在<br/>標籤設置clear: both;,preferrably用CSS類:

.clear { clear:both; } 

<br class="clear" /> 
+0

一個div和表單標籤。不幸的是,上面的代碼在IE7中不起作用。 Rito也不是。 – Odyss3us 2010-07-30 09:34:54

+1

你有沒有宣佈你的CSS是正確的?其工作正常(在IE-Tes​​ter中測試) - > http://jsbin.com/idofe3/edit。 給予
一類不工作,因爲
本身會漂浮起來,
後彩車將被清除 – Rito 2010-07-30 10:23:01

0

當你的第二個段落開頭的第一個還在飄了起來。你需要一個clear:both;clear:right;,使您的工作休息。

.clearer { clear: both; } 

<p class="right">hi</p> 
<div class="clearer"></div> 
<br /> 
<p>hi</p> 
0

你p標籤只浮動的內容,因此沒有高度

您的p標籤只浮動標籤和浮動輸入的內容,所以它們被視爲在零高度IE瀏覽器。你可能找不到這樣的跨瀏覽器修復,除非你願意設置在<p>明確的高度或添加非浮動元素進去。

我建議跳過<BR>,只是做與利潤的工作。下面是一個例子,假設你提到的包裝<div>。

CSS:

.left { float: left; } 
.right { float: right; } 
.wrap p { clear: both; height: 1em; margin: 0 0 1em 0; padding: 0; } 
.wrap br { display: none; } 

HTML:

<form> 
<div class="wrap"> 

<p> 
    <span class='left'><label for='gender'>Gender: </label></span> 
    <span class='right'> 
    <select name='gender' id='gender'> 
    <option>Select one</option> 
    <option>Male</option> 
    <option>Female</option> 
    </select> 
    </span> 
</p> 
<br /> 
<p> 
    <span class='left'><label for='name'>Name: </label></span> 
    <span class='right'><input name='name' id='name' /></span> 
</p> 
<br /> 

</div> 
</form>