Eu gostaria de ter os rótulos não acima do campo de entrada, mas no lado esquerdo.
<form method="post" action="" role="form" class="form-inline">
<div class="form-group">
<label for="rg-from">Ab: </label>
<input type="text" id="rg-from" name="rg-from" value="" class="form-control">
</div>
<div class="form-group">
<label for="rg-to">Bis: </label>
<input type="text" id="rg-to" name="rg-to" value="" class="form-control">
</div>
<div class="form-group">
<input type="button" value="Clear" class="btn btn-default btn-clear">
<input type="submit" value="Los!" class="btn btn-primary">
</div>
</form>
Este código me dá:
Eu gostaria de ter:
css
twitter-bootstrap-3
Stefan Vogt
fonte
fonte
form-group
pode herdarform-inline
para tornar grupos de formulários individuais embutidos em vez da classe pai do formulário.Coloque o
<label>
lado de fora doform-group
:fonte
A documentação do Bootstrap 3 fala sobre isso na guia de documentação CSS na seção intitulada "Requer larguras personalizadas", que afirma:
Se você usar seu navegador e ferramentas Firebug ou Chrome para suprimir ou reduzir o estilo de "largura", deverá ver as coisas alinhadas como você deseja. Obviamente, você pode criar o CSS apropriado para corrigir o problema.
No entanto, acho estranho que eu precise fazer isso. Não pude deixar de sentir que essa manipulação era irritante e, a longo prazo, sujeita a erros. Por fim, usei uma classe fictícia e um pouco de JS para shim globalmente todas as minhas entradas embutidas. Foi um pequeno número de casos, portanto não muito preocupante.
No entanto, eu também adoraria ouvir de alguém que tem a solução "certa" e poderia eliminar meu shim / hack.
Espero que isso ajude e um apoio para você por não explodir em todas as pessoas que ignoraram seu pedido como uma preocupação do Bootstrap 3.
fonte
Você pode criar tal formulário onde rótulo e controle de formulário estão do lado usando dois métodos -
1. Layout de formulário embutido
2. Layout de formulário horizontal
Você pode verificar esta página para obter mais informações e demonstração ao vivo - http://www.tutorialrepublic.com/twitter-bootstrap-tutorial/bootstrap-forms.php
fonte
Como isso
DEMO
HTML
fonte
Eu tive o mesmo problema, aqui está minha solução:
aqui está a demonstração
fonte
Você deve flutuar à esquerda de todos os elementos assim:
dê alguma margem para os elementos desejados:
e defina o rótulo com a mesma altura da linha que a altura dos campos:
fonte
Você pode ver pelas respostas existentes que a terminologia do Bootstrap é confusa. Se você olhar a documentação do bootstrap, verá que a classe form-horizontal é na verdade para um formulário com campos abaixo uns dos outros, ou seja, o que a maioria das pessoas pensaria como um formulário vertical. A classe correta para um formulário que atravessa a página é formulário embutido . Eles provavelmente introduziram o termo inline porque já haviam usado indevidamente o termo horizontal .
Você vê por algumas das respostas aqui que algumas pessoas estão usando ambas as classes de uma forma! Outros pensam que precisam de formulário horizontal quando na verdade querem formulário embutido .
Sugiro fazer exatamente conforme descrito na documentação do Bootstrap:
Que produz:
fonte
Você pode usar uma tag span dentro do rótulo
fonte
Consegui consertar meu problema com. Parece funcionar bem e significa que não tenho que adicionar larguras a todas as minhas entradas manualmente.
fonte
Tenho certeza de que você já teria encontrado sua resposta ... aqui está a solução que deduzi.
Esse é o meu CSS.
E meu HTML ...
Você pode ver o exemplo de trabalho aqui ... http://jsfiddle.net/s6Ujm/
PS: Eu também sou um iniciante, designers profissionais ... sinta-se à vontade para compartilhar seus comentários.
fonte
Acho que é isso que você quer, da documentação de bootstrap "Forma horizontal Use as classes de grade predefinidas do Bootstrap para alinhar rótulos e grupos de controles de formulário em um layout horizontal, adicionando .form-horizontal ao formulário. Isso altera .form-groups para comportar-se como linhas de grade, portanto, não há necessidade de .row ". Assim:
Fiddle: http://jsfiddle.net/beewayne/B9jj2/29/
fonte
Também podemos usá-lo simplesmente como
fonte
Parece que adicionar
style="width:inherit;"
às entradas funciona bem. demonstração jsfiddlefonte
Não requer CSS. Isso deve ficar bem em sua página. Você pode definir de
col-md-*
acordo com suas necessidadesfonte