2010-06-14 45 views
10

我不敢相信我不得不問這個,但我在我的智慧結束。標籤放在頂部的內聯表格字段

我試圖顯示2個表單字段內聯,但與頂部的每個字段的標籤。在ASCII藝術:

Label 1  Label 2 
--------- --------- 
|  | |  | 
--------- --------- 

應該很簡單。

<label for=foo>Label 1</label> 
<input type=text name=foo id=foo /> 

<label for=bar>Label 2</label> 
<input type=text name=bar id=bar /> 

這將讓我:

 ---------   --------- 
Label 1 |  | Label 2 |  | 
     ---------   --------- 

要獲得關於盒頂部的標籤,我想補充顯示=塊:

<label for=foo style="display:block">Label 1</label> 
<input type=text name=foo id=foo /> 

<label for=bar style="display:block">Label 2</label> 
<input type=text name=bar id=bar /> 

我這樣做之後,標籤我想要它們,但表單域不再是內聯:

Label 1 
--------- 
|  | 
--------- 

Label 2 
--------- 
|  | 
--------- 

我一直無法找到一種方法來包裝我的html,所以這些字段顯示內聯。誰能幫忙?

回答

21

我會把每一個輸入的範圍內與display:inline-block,就像這樣:

<span style="display:inline-block"> 
    <label for=foo style="display:block">Label 1</label> 
    <input type=text name=foo id=foo /> 
</span> 

<span style="display:inline-block"> 
    <label for=bar style="display:block">Label 2</label> 
    <input type=text name=bar id=bar /> 
</span> 
+1

我喜歡你用span而不是div。因爲那麼它也支持IE 7。 – Adam 2016-02-07 11:51:04

17

你可以在標籤附上您的輸入,然後使用CSS:

label{display:inline-block;} 
 
input{display:block;}
<label>Label 1<input type=text name=foo id=foo /></label> 
 
<label>Label 2<input type=text name=bar id=bar /></label>

+0

這也適用。這是顯示:內聯塊,這是解決問題的關鍵。謝謝! – rcourtna 2010-06-16 14:26:07

+2

爲避免不必要的標記而對此進行upvoting。 – mWillis 2013-07-19 14:46:54

+0

好的答案謝謝。我正在尋找一種通用的解決方案,可以讓我在頂部*僅顯示某些輸入的標籤*。這對複選框或收音機沒有意義... – 2014-04-26 21:09:02