Как выровнять встроенные радиостанции/флажки и элементы блока помощи в горизонтальной форме с помощью Twitter Bootstrap 3

Несколько дней назад Twitter Bootstrap 3 RC1 выпущен, и я только начал играть с ним в личном проекте.

У меня есть горизонтальная форма, которая включает некоторые встроенные группы радио-меток, но горизонтальное выравнивание этих элементов не равно:

enter image description here

Вопрос 1: Почему хром не отображает элемент справочного блока в одной строке с меткой?

Вопрос 2: Как выровнять встроенную радиогруппу в одной строке с меткой?

Вопрос 3: Является ли следующая разметка действительной? Связаны ли эти проблемы с разметкой?

Разметка:

<div class="container">
  <form class="form-horizontal">

  <div class="form-group">
    <label class="col-lg-2 control-label">Weight</label>
    <div class="col-lg-1">
      <input type="text" name="weight" class="form-control" value="20">
    </div>
    <div class="help-block"> grams</div>  
  </div>

  <div class="form-group">
    <label class="col-lg-2 control-label">Full part name</label>
    <div class="col-lg-6">
      <input type="text" name="name" class="form-control" placeholder="Don't use numeric characters..">
    </div>
  </div>

  <div class="form-group">
    <label class="col-lg-2 control-label">Inline radios</label>
    <div class="col-lg-10">
      <label class="radio-inline">
        <input type="radio" name="radio"> Hello
      </label>
      <label class="radio-inline">
        <input type="radio" name="radio"> Other
      </label>
      <label class="radio-inline">
        <input type="radio" name="radio"> Another
      </label>
      <label class="radio-inline">
        <input type="radio" name="radio" checked="checked"> Foobar
      </label>
    </div>
  </div>
</form>
</div>

EDIT:

Также эта разметка на маленьком экране создает "сброшенный элемент элемента справки". Я думаю, что моя разметка проблематична, но я понятия не имею, что не так.

Small device

Ответ 1

Ваша разметка кажется действительной с первого взгляда. О вашем вопросе 1.

Вы установили свой ввод с помощью:

<div class="col-lg-1">
  <input type="text" name="weight" class="form-control" value="20">
</div>

Таким образом, для ширины задается префикс col-lg-1, см. также: fooobar.com/info/29594/.... "col-lg-1" стека ниже 992 пикселей. Когда ширина экрана составляет > 992 px. Дива получила ширину 8,333% (100/12). form-control class устанавливает ширину входного тега на 100%. Ниже 992px нет определения для "col-lg-1", вызывающего 100% ширину входа, вход отображается со 100% шириной.

Попробуйте использовать префиксы col *, которые никогда не складываются (или использовать другой CSS для установки ширины)

Я вообще не нашел другого поведения для Chrome. Выше 992px я найду это как на FF, так и на Chrome: Forms in Twitter's Bootstrap3

Я еще не нашел решение для вашего второго вопроса.

Вопрос 2: Ваши ярлыки получили верхнюю часть 9px:

 .form-horizontal .control-label {
     padding-top: 9px;
  }

. Графические строки не имеют дополнения, поэтому добавьте код ниже в ваш css:

.radio-inline, .checkbox-inline {
    padding-top: 9px;
 }

Смотрите: https://github.com/twbs/bootstrap/pull/8967