<label>块内的<div>是否正确?

Ste*_*ing 59 html css twitter-bootstrap

我正在使用Bootstrap,它是水平形式的演示:

<form class="form-horizontal" role="form">
  <div class="form-group">
    <label for="inputEmail1" class="col-lg-2 control-label">Email</label>
    <div class="col-lg-10">
      <input type="email" class="form-control" id="inputEmail1">
    </div>
  </div>
</form>
Run Code Online (Sandbox Code Playgroud)

但是我不想为每个创建ID <input>,所以

<form class="form-horizontal" role="form">
  <div class="form-group">
    <label class="block">
      <span class="col-lg-2 control-label">Email</span>
      <div class="col-lg-10">
        <input type="email" class="form-control">
      </div>
    </label>
  </div>
</form>
Run Code Online (Sandbox Code Playgroud)

display:block不能在里面display:inline,所以我用CSS

.block {
  display: block;
}
Run Code Online (Sandbox Code Playgroud)

它工作正常,但它是否正确?因为我听说我们不应该将display:block元素放入display:inline元素(label)

Que*_*tin 72

请参阅标签元素的规范:

内容模型:Phrasing内容,但没有后代可标记元素,除非它是元素的标记控件,并且没有后代标签元素.

短语内容链接到:

短语内容是文档的文本,以及在段落内标记该文本的元素.短语内容的运行形成段落.

<label> (如果它是地图元素的后代) <div>

所以不行.HTML不允许a abbr area包含a audio b bdi bdo br button canvas cite code data datalist del dfn em embed i iframe img input ins kbd keygen label map mark math meter noscript object output progress q ruby s samp script select small span strong sub sup svg textarea time u var video wbr text.

  • @vanthome - 如果您有新问题,可以单击每页顶部的[提问](/sf/)链接...然后它可以[作为重复关闭] (/sf/ask/1325130691/). (4认同)
  • 那又有什么替代品呢?我真的需要特定的div来点击它们时检查单选按钮. (3认同)
  • JavaScript的.可能沿着`document.getElementById(this.querySelector("label").getAttribute("for")).checked`. (2认同)
  • 顺便问一下,这合法吗?&lt;标签&gt;&lt;img&gt;&lt;/标签&gt;? (2认同)
  • 有谁知道在CSS`display:block`中将`span`作为子内容是有效的,或者相反在`display:inline`中使用`div`作为子内容是否有效? (2认同)