html - right - layout bootstrap
¿Cómo alinear las entradas en forma de arranque con los complementos de grupo de entrada? (4)
.input-group [class * = "col-"] no es útil si usa
<fieldset>
¡Aquí está la solución!
.makeHorizontal{
float:left;
padding-left:20px;
}
Tengo un formulario muy simple con Bootstrap 3 que puedo alinear fácilmente (automáticamente) cuando no utilizo input-group-addon
s.
Después de usarlos en mi formulario, es imposible alinearlo (la línea con los complementos es más ancha debido a los complementos agregados)
<form class="form-horizontal" role="form">
<div class="form-group">
<label for="product_name" class="col-sm-2 control-label">Product name</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="product_name" placeholder="Product name">
</div>
</div>
<div class="form-group">
<label for="product_price" class="col-sm-2 control-label">Price</label>
<div class="col-sm-4 input-group">
<span class="input-group-addon">$</span>
<input type="text" class="form-control bfh-number" id="product_price" placeholder="Price" data-min="0" data-max="9999999">
<span class="input-group-addon">.00</span>
</div>
</div>
<div class="form-group">
<label for="product_description" class="col-sm-2 control-label">Description</label>
<div class="col-sm-6">
<textarea class="form-control" id="product_description" placeholder="Description" rows="5"></textarea>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">Submit</button>
</div>
</div>
</form>
JsFiddle: http://jsfiddle.net/Yzxy3/
Es porque .input-group
tiene por defecto
padding-right: 0;
padding-left: 0;
por lo que su div
se extenderá hasta el ancho completo, donde .col-sm-4
tiene estilos predeterminados como:
padding-right: 15px;
padding-left: 15px;
Para que funcione como se espera, puedes agregar este estilo:
.input-group[class*="col-"] {
padding-right: 15px;
padding-left: 15px;
}
La documentación de Bootstrap para grupos de entrada dice:
No mezcle el grupo de entrada con otros componentes. (consulte: http://getbootstrap.com/components/#input-groups )
No mezcle grupos de formularios o clases de columnas de cuadrícula directamente con grupos de entrada. En su lugar, anide el grupo de entrada dentro del grupo de formulario o elemento relacionado con la cuadrícula ".
Así que no puedes mezclar "col-sm-4" con "input-group" en la misma clase. Tienes que crear 2 clases div, la primera con "col-sm-4" y la otra con "input-group"
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-addon">$</span>
<input type="text" class="form-control bfh-number" id="product_price" placeholder="Price" data-min="0" data-max="9999999">
<span class="input-group-addon">.00</span>
</div>
</div>
Me parece que tenía que incluir: flotar: a la izquierda también. Entonces, el css es:
.input-group[class*="col-"] {
float: left;
padding-right: 15px;
padding-left: 15px;
}
Si no, mis filas de varias columnas se rompieron cuando actualicé de v3.0.2 a v3.0.3.
--cp