Unterschiedliches Verhalten: Klicken in den Bereich zwischen Beschriftung und Eingabe
Wenn Sie auf das Leerzeichen klicken zwischen das Etikett und den Eingang, so wird der Eingang nur aktiviert, wenn das Etikett den Eingang enthält.
Dies ist sinnvoll, da in diesem Fall das Leerzeichen nur ein weiteres Zeichen der Bezeichnung ist.
div {
border: 1px solid black;
}
label {
border: 1px solid black;
padding: 5px;
}
input {
margin-right: 30px;
}
<p>Inside:</p>
<label>
<input type="checkbox" />
Label. Click between me and the checkbox.
</label>
<p>Outside:</p>
<input type="checkbox" id="check" />
<label for="check">Label. Click between me and the checkbox.</label>
Die Möglichkeit, zwischen Etikett und Kasten zu klicken, bedeutet, dass dies der Fall ist:
- einfacher zu klicken
- weniger klar, wo die Dinge beginnen und enden
Bootstrap Checkbox v3.3 Beispiele verwenden die Eingabe innerhalb: http://getbootstrap.com/css/#forms Es könnte ratsam sein, ihnen zu folgen. Aber sie änderten ihre Meinung in v4.0 https://getbootstrap.com/docs/4.0/components/forms/#checkboxes-and-radios Ich weiß also nicht mehr, was klug ist:
Kontrollkästchen und Radios unterstützen die HTML-basierte Formularvalidierung und bieten prägnante, verständliche Beschriftungen. Als solche sind unsere <input>
s und <label>
s sind geschwisterliche Elemente im Gegensatz zu einem <input>
innerhalb einer <label>
. Dies ist etwas ausführlicher, da Sie die Attribute id und for angeben müssen, um die <input>
y <label>
.
UX-Frage, in der dieser Punkt ausführlich behandelt wird: https://ux.stackexchange.com/questions/23552/should-the-space-between-the-checkbox-and-label-be-clickable