强制标签与其标记的输入内联

use*_*735 34 css label input

我需要标签与它们标记的输入字段保持在同一行.我希望这些元素像通常在窗口调整大小时那样流动,我只想让标签贴在他们标记的输入的左侧.我该怎么办?有任何想法吗?

<label for="id1">label1:</label>
<input type="text" id="id1"/>
<label for="id2">label2:</label>
<input type="text" id="id2"/>
Run Code Online (Sandbox Code Playgroud)

答案:Josiah Ruddell的答案是在正确的道路上,使用跨度代替div给了我正确的行为.谢谢!

<span style="white-space:nowrap">
    <label for="id1">label1:</label>
    <input type="text" id="id1"/>
</span>
<span style="white-space:nowrap">
    <label for="id2">label2:</label>
    <input type="text" id="id2"/>
</span>
Run Code Online (Sandbox Code Playgroud)

Jos*_*ell 43

把它们放在div带有nowrap的内部.

<div style="white-space:nowrap">
    <label for="id1">label1:</label>
    <input type="text" id="id1"/>
</div>
Run Code Online (Sandbox Code Playgroud)

  • 哦,但是这种方法适用于 SPAN!所以我真正要找的是: &lt;span style="white-space:nowrap"&gt; &lt;label for="id1"&gt;label1:&lt;/label&gt; &lt;input type="text" id="id1"/ &gt; &lt;/span&gt; &lt;span style="white-space:nowrap"&gt; &lt;label for="id2"&gt;label2:&lt;/label&gt; &lt;input type="text" id="id2"/&gt; &lt;/span&gt; (2认同)

zzz*_*Bov 7

放入input标签,然后抛弃for属性

<label>
  label1:
  <input type="text" id="id1" name="whatever" />
</label>
Run Code Online (Sandbox Code Playgroud)

但是,当然,如果你想为文本设计样式呢?只需使用一个span.

<label id="id1">
  <span>label1:</span>
  <input type="text" name="whatever" />
</label>
Run Code Online (Sandbox Code Playgroud)

  • @Sebastian我全心全意地不同意,哎呀没有完成我的评论:w3c规范指定输入元素在标签内的交互.我认为这是因为**意图*."为了隐式地将标签与另一个控件相关联,控制元素必须位于LABEL元素的内容中.在这种情况下,LABEL可能只包含一个控制元素.标签本身可以位于相关控件之前或之后." http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.9.1 (5认同)
  • @user366735如果您可以提供一个实例,您可以获得更好的答案。 (2认同)
  • @AlbuquerqueWebDesign,我不同意,HTML规范也是如此,[“标签元素代表用户界面中的标题。标题可以与特定的表单控件相关联,称为标签元素的标记控件,可以使用 for 属性,**或者将表单控件放入标签元素本身**。"](https://html.spec.whatwg.org/multipage/forms.html#the-label-element)强调我的。 (2认同)