16

当浏览器窗口变窄时文本换行时,如何将单选按钮 ( ) 或复选框 [ ] 及其标签保持在一起,这样我们就不会这样结束:

          [ ] 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>...但这不起作用。

4

2 回答 2

15

<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 -->
于 2013-02-02T16:23:41.193 回答
9

您可以将输入和标签包装在 a 中,也可以将输入<span>包装在标签内。无论哪种方式,外部容器(跨度或标签)都应该有 style 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>

或者

<label style="white-space:nowrap; display:inline-block">
  <input type="checkbox" name="pizza" checked="true" 
   id="pepperoni" value="pepperoni"/>
  pepperoni
</label>
于 2014-02-25T20:20:58.707 回答