template style formulario form ejemplo bootstrap html forms twitter-bootstrap

html - style - ¿Forma en línea dentro de un formulario horizontal en twitter bootstrap?



bootstrap input size (4)

Esto usa twitter bootstrap 3.x con una clase css para que las etiquetas se coloquen encima de las entradas. Aquí hay un enlace de violín , asegúrese de expandir el panel de resultados lo suficientemente amplio como para ver el efecto.

HTML:

<div class="row myform"> <div class="col-md-12"> <form name="myform" role="form" novalidate> <div class="form-group"> <label class="control-label" for="fullName">Address Line</label> <input required type="text" name="addr" id="addr" class="form-control" placeholder="Address"/> </div> <div class="form-inline"> <div class="form-group"> <label>State</label> <input required type="text" name="state" id="state" class="form-control" placeholder="State"/> </div> <div class="form-group"> <label>ZIP</label> <input required type="text" name="zip" id="zip" class="form-control" placeholder="Zip"/> </div> </div> <div class="form-group"> <label class="control-label" for="country">Country</label> <input required type="text" name="country" id="country" class="form-control" placeholder="country"/> </div> </form> </div> </div>

CSS:

.myform input.form-control { display: block; /* allows labels to sit on input when inline */ margin-bottom: 15px; /* gives padding to bottom of inline inputs */ }

¿Cuál es la mejor manera de diseñar un formulario que se vea así (consulte el enlace a continuación) en twitter bootstrap sin clases caseras?

¿Es posible establecer un formulario interno en línea dentro de un formulario? Horizontal como el ejemplo siguiente:


Para el ejemplo anterior de bootstrap 3 funciona pero es demasiado complicado, en lugar de utilizar form-group use form-inline para los campos que desea en línea.

P.ej:

<div class="form-group"> <label>CVV</label> <input type="text" size="4" class="form-control" /> </div> <div class="form-inline"> <label>Expiration (MM/YYYY)</label><br> <input type="text" size="2" class="form-control" /> / <input type="text" size="4" class="form-control" /> </div>


Sé que esta es una respuesta antigua, pero esto es lo que suelo hacer:

CSS:

.form-control-inline { width: auto; float:left; margin-right: 5px; }

Luego ajuste los campos que desea incluir en un div y agregue .form-control-inline a la entrada, por ejemplo:

HTML

<label class="control-label">Date of birth:</label> <div> <select class="form-control form-control-inline" name="year"> ... </select> <select class="form-control form-control-inline" name="month"> ... </select> <select class="form-control form-control-inline" name="day"> ... </select> </div>


No anides etiquetas <form> , eso no funcionará. Solo usa las clases de Bootstrap.

Bootstrap 3

<form class="form-horizontal" role="form"> <div class="form-group"> <label for="inputType" class="col-md-2 control-label">Type</label> <div class="col-md-3"> <input type="text" class="form-control" id="inputType" placeholder="Type"> </div> </div> <div class="form-group"> <span class="col-md-2 control-label">Metadata</span> <div class="col-md-6"> <div class="form-group row"> <label for="inputKey" class="col-md-1 control-label">Key</label> <div class="col-md-2"> <input type="text" class="form-control" id="inputKey" placeholder="Key"> </div> <label for="inputValue" class="col-md-1 control-label">Value</label> <div class="col-md-2"> <input type="text" class="form-control" id="inputValue" placeholder="Value"> </div> </div> </div> </div> </form>

Puedes lograr ese comportamiento de muchas maneras, eso es solo un ejemplo. bootply en este bootply

Bootstrap 2

<form class="form-horizontal"> <div class="control-group"> <label class="control-label" for="inputType">Type</label> <div class="controls"> <input type="text" id="inputType" placeholder="Type"> </div> </div> <div class="control-group"> <span class="control-label">Metadata</span> <div class="controls form-inline"> <label for="inputKey">Key</label> <input type="text" class="input-small" placeholder="Key" id="inputKey"> <label for="inputValue">Value</label> <input type="password" class="input-small" placeholder="Value" id="inputValue"> </div> </div> </form>

Tenga en cuenta que estoy usando .form-inline para obtener el estilo propio dentro de un .controls .
Puedes probarlo en this jsfiddle