2013-02-02 84 views
12

如何在瀏覽器窗口縮小時使文本環繞時將單選按鈕()或複選框[]及其標籤保留在一起我們並沒有以此結束:如何保持單選按鈕或複選框及其標籤在內容在流佈局中環繞時

  [ ] pepperoni [ ] anchovies [ ] mushrooms [ ] 
      olives 

編輯迴應nowrap建議。感謝您的建議。差不多了。它適用於Chrome,FF和Opera ,但不在IE9中。當頁面CSS是label {white-space: nowrap}和標記是:

  <td> 
      <div> 
      <label> 
      <input type="radio" name="pizza" checked="true" 
      id="pepperoni" value="pepperoni" />pepperoni </label> 
      <label> 
      <input type="radio" name="pizza" 
      id="anchovies" value="anchovies" />anchovies </label> 
      <label> 
      <input type="radio" name="pizza" 
      id="mushrooms" value="mushrooms" />mushrooms </label> 
      <label> 
      <input type="radio" name="pizza" 
      id="olives" value="olives" />olives   </label> 
      </div> 
      </td> 

的TD成爲IE9固定寬度;當由瀏覽器窗口窄,TD不會收縮,而我得到這個:

  (] pepperoni () anchovies () mushrooms () olives 

,當我需要這樣的:

  () pepperoni () anchovies 
      () mushrooms () olives 

是否有IE9任何額外的把戲?我嘗試了在標籤之間放置一個包含單個空格的跨度:...</label><span> </span><label>...但這沒有奏效。

回答

8

包圍一個<span>容器並設置white-space: nowrap;

<span style="white-space: nowrap;"> 
    <input type="checkbox" id="in1" /> 
    <label for="in1">pepperoni</label> 
</span> 
<span style="white-space: nowrap;"> 
    <input type="checkbox" id="in2" /> 
    <label for="in2">anchovies</label> 
</span> 
<span style="white-space: nowrap;"> 
    <input type="checkbox" id="in3" /> 
    <label for="in3">mushrooms</label> 
</span> 
<span style="white-space: nowrap;"> 
    <input type="checkbox" id="in4" /> 
    <label for="in4">olives</label> 
</span> 

編輯

正如@xiaoyi提到的,​​你也可以使用<label>本身作爲容器:

<label style="white-space: nowrap;"> <input type="checkbox" /> pepperoni</label> 
<!-- etc --> 
+3

怎麼樣''?更清潔 – xiaoyi

+0

@xiaoyi:謝謝。在IE9中不按要求工作。請參閱編輯的問題。 – Tim

+1

現在它根本不會剎車! OP想要打破這條路線,但不是在收音機和它的標籤之間! – Rodrigo

-2

使用CSS樣式來管理這個, 指定位置絕對並手動給出每個組件的位置座標。

+0

我不需要輸入標籤來完美對齊列;只需要將()和它的標籤放在同一行上。 – Tim

+0

你是否嘗試過這樣做,它可能有點棘手,你可以在()後添加另一個組件,一個div,可以選擇間距(width-px),然後是標籤名稱? – Dipak

0

集上的複選框本身

<input type="checkbox" style="height:13px;"> 
+0

呃,複選框的高度與@#%#@#%有什麼關係? – Martha

7

嚴格的高度你可以用輸入和標籤在<span>或包裝標籤內部的輸入。無論哪種方式,外部容器(跨度或標籤)應具有樣式white-space:nowrap; display:inline-block。這適用於IE9以及其他瀏覽器。所以,你最終的標記應該是:

<span style="white-space:nowrap; display:inline-block"> 
    <input type="checkbox" name="pizza" checked="true" 
    id="pepperoni" value="pepperoni" /> 
    <label for="pepperoni">pepperoni</label> 
</span> 

OR

<label style="white-space:nowrap; display:inline-block"> 
    <input type="checkbox" name="pizza" checked="true" 
    id="pepperoni" value="pepperoni"/> 
    pepperoni 
</label> 
+0

這對我有用!我去w /應用這兩種樣式在我的樣式表中「標籤」,瞧! 「空白:NOWRAP;」獨自一人沒有工作,但增加了顯示:inline-block;「太詭計了!漂亮!:) – flipflopmedia

相關問題