Флажок Bootstrap input выровнять по вертикали
Используя Bootstrap версии 2.3.2, у меня есть макет формы, подобный изображению ниже, и поскольку флажок имеет встроенную метку, есть проблема выравнивания.

Добавление поля к input[type="checkbox"] дает только поле для флажка, а не встроенную метку. Как сделать так, чтобы флажок и его метка по вертикали совпадали с текстовыми полями рядом с ним?
Вот
JS BIN Если вам интересно.
5 ответов:
В вашем HTML Добавьте класс, который будет обрабатывать поле флажка:
<div class="container-fluid"> <div class="row-fluid"> <div class="span3"> <label>label 1</label> <input type="text" /> </div> <div class="span3"> <label>label 2</label> <input type="text" /> </div> <div class="span3 checkbox"> <input type="checkbox" />test description </div> </div> </div>И в вашем CSS:
input[type="checkbox"] { // i just remove this part.. } .checkbox { margin: 30px 0 0 0; }Не ставьте поля на флажок, а на родительский div. Проверьте это jsFiddle .
Надеюсь, это поможет
Старайтесь всегда использовать что-то вроде этого:
<div class="span3"> <label for="checkbox" class="checkbox"> <input type="checkbox" id="checkbox" class="checkbox">test description </label> </div>
Как насчет того, чтобы поставить
<label>перед флажком вот так? ..<div class="container-fluid"> <div class="row-fluid"> <div class="span3"> <label>label 1</label> <input type="text"> </div> <div class="span3"> <label>label 2</label> <input type="text"> </div> <div class="span3"> <label>test</label> <input type="checkbox"> </div> </div> </div>Bootply: http://bootply.com/86998
Я только что решил эту точную проблему в bootstrap 3, просто ограничив высоту встроенных флажков до 12 пикселей. Они по умолчанию 40px, я не знаю, почему !
<div class="checkbox-inline"> <label> <input type="checkbox" checked="checked" /> <span>My correctly aligned check-box</span> </label> </div>Добавьте это в свой css-файл (у меня лично есть css-файл с именем bootstrap-custom.css):
/* Checkboxes in inline forms are misaligned because for an unknow reason they inherit a height of 40px ! This selector limit the height of inline checkboxes to 12px which is the perfect value to align them to the other widgets in an inline form. */ .radio-inline, .checkbox-inline { max-height: 12px; }
Не идеальное решение, но измените свой код на ...
<div class="span5"> <input type="checkbox">test description</input> </div>И установите верхний край на это. Я буду приводить так, как вы хотите - лучше.
Comments