formulario form ejemplo bootstrap html css twitter-bootstrap twitter-bootstrap-3

html - ejemplo - Twitter Bootstrap 3 Inline Form con etiquetas



input file bootstrap 4 (6)

Opción n. ° 1: columnas fijas

Puede usar una estructura que mezcle col-xs-12 , col-sm-6 y col-lg-3 para obtener 1, 2 o 4 columnas. Dentro de su form-group , recuerde corregir los tamaños de etiqueta / entrada con col-xs-4 y col-xs-8 :

<div class="container"> <form class="form form-inline" role="form"> <legend>Form legend</legend> <div class="form-group col-xs-12 col-sm-6 col-lg-3"> <label for="InputFieldA" class="col-xs-4">Field A</label> <div class="col-xs-8"> <input type="text" class="form-control" id="InputFieldA" placeholder="InputFieldA"> </div> </div> <div class="form-group col-xs-12 col-sm-6 col-lg-3"> <label for="InputFieldB" class="col-xs-4">Field B</label> <div class="col-xs-8"> <input type="text" class="form-control" id="InputFieldB" placeholder="InputFieldB"> </div> </div> <div class="form-group col-xs-12 col-sm-6 col-lg-3"> <label for="InputFieldC" class="col-xs-4">Field C</label> <div class="col-xs-8"> <input type="text" class="form-control" id="InputFieldC" placeholder="InputFieldC"> </div> </div> <div class="form-group col-xs-12 col-sm-6 col-lg-3"> <button type="submit" class="btn btn-default col-xs-8 col-xs-offset-4">Submit Button</button> </div> </form> </div>

Aún necesitas algunos CSS:

// get a larger input, and align it with submit button .form-inline .form-group > div.col-xs-8 { padding-left: 0; padding-right: 0; } // vertical align label .form-inline label { line-height: 34px; } // force inline control to fit container width // http://getbootstrap.com/css/#forms-inline .form-inline .form-control { width: 100%; } // Reset margin-bottom for our multiline form @media (min-width: 768px) { .form-inline .form-group { margin-bottom: 15px; } }

Puede agregar tantas entradas como desee.

Bootply

Opción n. ° 2: columnas de fluido

Para no importar el número de campos por fila, puede usar esta estructura:

<div class="container"> <form class="form form-inline form-multiline" role="form"> <legend>Form legend</legend> <div class="form-group"> <label for="InputFieldA">Field A</label> <input type="text" class="form-control" id="InputFieldA" placeholder="InputFieldA"> </div> <div class="form-group"> <label for="InputFieldB">Very Long Label For Field B</label> <input type="text" class="form-control" id="InputFieldB" placeholder="InputFieldB"> </div> <div class="form-group"> <label for="InputFieldC">F. C</label> <input type="text" class="form-control" id="InputFieldC" placeholder="InputFieldC"> </div> <div class="form-group"> <label for="InputFieldD">Very Long Label For Field D</label> <input type="text" class="form-control" id="InputFieldD" placeholder="InputFieldD"> </div> <div class="form-group"> <label for="InputFieldE">Very Long Label For Field E</label> <input type="text" class="form-control" id="InputFieldE" placeholder="InputFieldE"> </div> <div class="form-group"> <label for="InputFieldF">Field F</label> <input type="text" class="form-control" id="InputFieldF" placeholder="InputFieldF"> </div> <div class="form-group"> <button type="submit" class="btn btn-default">Submit Button</button> </div> </form> </div>

Y algunas líneas de CSS para corregir los márgenes:

.form-multiline .form-group { margin-bottom: 15px; margin-right: 30px; } .form-multiline label, .form-multiline .form-control { margin-right: 15px; }

Bootply

Después de buscar en todas partes, no pude ver exactamente cómo puedo diseñar una forma en línea que tenga el siguiente diseño: (usando clases bootstrap 3 en lugar de personalizaciones CSS cuando sea posible)

Cuando el usuario tiene una pantalla ancha:

Form-Legend LabelFieldA: InputFieldA LabelFieldB: InputFieldB LabelFieldC: InputFieldC <Submit Button>

Cuando el usuario tiene una pantalla más pequeña:

Form-Legend LabelFieldA: InputFieldA LabelFieldB: InputFieldB LabelFieldC: InputFieldC <Submit Button>

La idea es que el diseño coloque inicialmente todos los campos en una línea y, si no se ajusta, los controles saltarían a la siguiente línea, pero manteniendo juntos el campo Etiqueta + Campo.

Además, si hay una manera para que el espacio entre cada etiqueta + entrada sea mayor que el espacio entre la etiqueta y su campo.

Y, por último, si hay una forma de tener más margen vertical entre Label + Field cuando salta a la siguiente línea.


Bien, jugué con el sistema de cuadrícula y esto es lo más cerca que pude de tu configuración.

<div class="container"> <form role="form" class="form-horizontal"> <div class="form-group col-sm-5"> <label for="inputPassword" class="col-xs-4 control-label">Email</label> <div class="col-xs-8"> <input type="password" class="form-control" id="inputPassword" placeholder="Password" /> </div> </div> <div class="form-group col-sm-5"> <label for="inputPassword" class="col-xs-4 control-label">Password</label> <div class="col-xs-8"> <input type="password" class="form-control" id="inputPassword" placeholder="Password" /> </div> </div> <button type="submit" class="btn btn-default">Submit</button> </form> </div>

Esto tiene solo dos campos. Es posible que desee cambiar las clases col para que se ajusten a su diseño.

jsFiddle


La forma más simple es colocar tanto la etiqueta como la entrada de texto en cols div. Espero que esto ahorre tiempo para todos los demás :)

<div class="col-md-3 text-right"> <label>City</label> </div> <div class="col-md-3 text-right"> <asp:TextBox data-toggle="tooltip" pbpo-validation-type="required" title="City" runat="server" ID="textbox_city" CssClass="form-control input-sm" ClientIDMode="Static" placeholder=""></asp:TextBox> </div>


Lo mismo que la opción # 1 de @zessx, pero sin reemplazar el CSS. Éste también alinea las etiquetas a la derecha para aumentar el espacio entre los pares de etiqueta y control. Los "medios" de clase están ahí para agregar el margen superior sin crear una clase personalizada, pero en general es mejor tener uno personalizado.

<div class="form-horizontal"> <legend>Form legend</legend> <div class="media col-xs-12 col-sm-6 col-lg-3"> <label for="InputFieldA" class="control-label text-right col-xs-4">Field A</label> <div class="input-group col-xs-8"> <input type="text" class="form-control" id="InputFieldA" placeholder="InputFieldA"> </div> </div> <div class="media col-xs-12 col-sm-6 col-lg-3"> <label for="InputFieldB" class="control-label text-right col-xs-4">Field B</label> <div class="input-group col-xs-8"> <input type="text" class="form-control" id="InputFieldB" placeholder="InputFieldB"> </div> </div> <div class="media col-xs-12 col-sm-6 col-lg-3"> <label for="InputFieldC" class="control-label text-right col-xs-4">Field C</label> <div class="input-group col-xs-8"> <input type="text" class="form-control" id="InputFieldC" placeholder="InputFieldC"> </div> </div> <div class="media col-xs-12 col-sm-6 col-lg-3"> <button type="submit" class="btn btn-default col-xs-8 col-xs-offset-4">Submit Button</button> </div> </div>

Bootply


Propondría algo completamente diferente, ajuste las etiquetas y los campos dentro de los divs en línea:

<div style="display:inline-block"> Label:input </div>

De esta manera, cuando están a punto de romperse, se rompen en pares, etiquetas + entradas.


Puedes probar a continuación

Trabajando aquí- http://www.bootply.com/117807

<div class="container"> <div class="row"> <div class="col-md-4"> <div class="row"> <div class="col-md-4 col-xs-3 col-sm-4"><label>First Name</label></div> <div class="col-md-8 col-xs-9 col-sm-8"><input type="text"></div> </div> </div> <div class="col-md-4"> <div class="row"> <div class="col-md-4 col-xs-3 col-sm-4"><label>Last Name</label></div> <div class="col-md-8 col-xs-9 col-sm-8"><input type="text"></div> </div> </div> <div class="col-md-4"> <div class="row"> <div class="col-md-4 col-xs-3 col-sm-4"><label>Contact</label></div> <div class="col-md-8 col-xs-9 col-sm-8"><input type="text"></div> </div> </div> </div> </div>