2012-10-12 3 views
3

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

<form action="/subscriptions" method="post"> 
    <fieldset> 
    <div class="control-group"> 
     <label class="control-label" for="name">Name</label> 
     <div class="controls row-fluid"> 
      <input class="span2" id="first_name" name="first_name" placeholder="First" required="required" type="text"> 
      <input class="span2" id="last_name" name="last_name" placeholder="Last" required="required" type="text"> 
     </div> 
    </div> 
    <div class="control-group"> 
     <label class="control-label" for="email">Email</label> 
     <div class="controls row-fluid"> 
     <input class="span4" id="email" name="email" type="email"> 
    </div> 
    </div> 
</fieldset> 
</form>​ 

http://jsfiddle.net/sguha095/v4amX/

ответ

10

взглянуть на эту jdfiddle: http://jsfiddle.net/kY5LL/18/

я добавил некоторые div.row-fluid контейнеров в строке вашей формы и один дополнительный набор входов для демонстрации.

Надеюсь, это то, что вы искали.

+0

с использованием разметки сетки внутри формы - плохая практика. – jonschlinkert

+2

Я не думаю, что здесь проблема. Последняя версия включает в себя новый класс '.controls-row' для этой цели. К сожалению, он пока не работает в жидкостных макетах (начиная с версии 2.1.1). Но исправление №5039 было добавлено и, вероятно, будет в следующем выпуске. Если взглянуть на ваш аргумент с этой точки зрения, кажется, что официальная документация действительно способствует смешиванию гридов и форм. – ditscheri

+0

Пожалуйста, поправьте меня, если я ошибаюсь. – ditscheri

2

Сначала нужно очистить HTML, немного, есть дополнительное закрытие DIV на первой линии.

Я просто добавил несколько классов, чтобы улучшить стиль, чтобы вы могли видеть, как это работает. Класс input-block-level является бутстрап-микшированием, чтобы заставить входы действовать как истинные элементы уровня блока. Это необходимо, если вы хотите, чтобы это было чистым и чтобы использовать преимущества CSS. Если вы хотите сделать все свое стилирование с помощью HTML, вы можете сделать это с помощью большей разметки и менее семантических методов, но я бы рекомендовал против нее.

Надеюсь, это поможет!

http://jsfiddle.net/kY5LL/12/

+0

Спасибо за ваш ответ, но так или иначе, чтобы это сделать, используя систему жидкостной сетки http://twitter.github.com/bootstrap/scaffolding.html#fluidGridSystem? – sguha

+0

Очень прост в использовании. Я бы не загромождал форму с помощью классов сетки, это не нужно. Форма реагирует на простой медиа-запрос, чтобы сделать входные данные 100% шириной 480px и ниже. Ознакомьтесь с новой скрипкой: http://jsfiddle.net/kY5LL/12/ Таким образом вы можете сбросить ее в любом месте сетки. – jonschlinkert

+0

, кстати, это должен был быть второй вопрос технически. Я правильно ответил на ваш первый вопрос? – jonschlinkert

Смежные вопросы