¿Está <div> dentro del bloque <label> correcto?

Estoy usando Bootstrap, es demo de forma horizontal:

<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>

pero no quiero crear ID para cada uno<input>, asi que

<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>

perodisplay:block no puede estar dentrodisplay:inlineentonces uso CSS

.block {
  display: block;
}

está funcionando, pero es correcto? Porque he oído que no deberíamos ponerdisplay:block elemento endisplay:inline elementolabel)

Respuestas a la pregunta(1)

Su respuesta a la pregunta