css - div - tooltip html bootstrap
bootstrap: alinear la entrada con el botón (10)
¿Por qué los botones y las entradas no se alinean bien en bootstrap? Intenté algo simple como:
<input type="text"/><button class="btn">button</button>
El botón es aproximadamente 5px más bajo que la entrada en chrome / firefox.
Twitter Bootstrap 3
Como se muestra en la respuesta de @abimelex, las entradas y los botones se pueden alinear utilizando las .input-group
(consulte http://getbootstrap.com/components/#input-groups-buttons ):
Botón de grupo en el lado izquierdo.
<div class="input-group">
<span class="input-group-btn">
<button class="btn btn-default" type="button">Go!</button>
</span>
<input type="text" class="form-control">
</div>
Botón de grupo en el lado derecho.
<div class="input-group">
<input type="text" class="form-control">
<span class="input-group-btn">
<button class="btn btn-default" type="button">Go!</button>
</span>
</div>
Esta solución se ha agregado para mantener mi respuesta actualizada, pero por favor mantenga su voto actualizado en la respuesta proporcionada por @abimelex .
Twitter Bootstrap 2
Bootstrap ofrece una clase .input-append
, que funciona como un elemento de envoltura y lo corrige por ti:
<div class="input-append">
<input name="search" id="search"/>
<button class="btn">button</button>
</div>
Como lo señaló @OleksiyKhilkevich en su respuesta, hay una segunda forma de alinear la input
y el button
utilizando la clase .form-horizontal
:
<div class="form-horizontal">
<input name="search" id="search"/>
<button class="btn">button</button>
</div>
Las diferencias
La diferencia entre estas dos clases es que .input-append
colocará el button
contra el elemento de input
(para que parezca que está conectado), donde .form-horizontal
colocará un espacio entre ellas.
-- Nota --
Para permitir que los elementos de input
y button
estén uno junto al otro sin espacio, el font-size
se ha establecido en 0
en la clase .input-append
(esto elimina el espacio en blanco entre los elementos del inline-block
). Esto puede tener un efecto adverso en los tamaños de fuente en el elemento de input
si desea anular los valores predeterminados utilizando em
o %
mediciones.
Lo intenté por encima de todo y terminé con algunos cambios que me gustaría compartir. Aquí está el código que me funciona (encuentre la captura de pantalla adjunta):
<div class="input-group">
<input type="text" class="form-control" placeholder="Search text">
<span class="input-group-btn" style="width:0;">
<button class="btn btn-default" type="button">Go!</button>
</span>
</div>
Si desea verlo funcionar, simplemente use el código a continuación en su editor:
<html>
<head>
<link type=''text/css'' rel=''stylesheet'' href=''https://maxcdn.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css'' />
</head>
<body>
<div class="container body-content">
<div class="form-horizontal">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search text">
<span class="input-group-btn" style="width:0;">
<button class="btn btn-default" type="button">Go!</button>
</span>
</div>
</div>
</div>
</body>
</html>
Espero que esto ayude.
No está directamente relacionado, a menos que tenga un código similar, pero acabo de notar un comportamiento extraño en form-inline, bootstrap 3.3.7
No usé filas y celdas para esto, ya que es un proyecto de escritorio, si la etiqueta de apertura estaba debajo de la tabla (en este caso):
<table class="form-inline">
<form>
<tr>
Los elementos de forma se apilarían.
Interruptor y correctamente alineado.
<form>
<table class="form-inline">
<tr>
Safari 10.0.2 y el último Chrome no hicieron ninguna diferencia. Tal vez mi diseño estaba mal, pero no es muy indulgente.
Probé todos los códigos anteriores y ninguno de ellos solucionó mis problemas. Esto es lo que funcionó para mí. Utilicé input-group-addon.
<div class = "input-group">
<span class = "input-group-addon">Go</span>
<input type = "text" class = "form-control" placeholder="you are the man!">
</div>
Solo las cabezas arriba, parece que hay una clase especial de CSS para esta form-horizontal
llamada form-horizontal
input-append tiene otro efecto secundario, que reduce el tamaño de la fuente a cero
Use .form-inline = Esto alineará a la izquierda las etiquetas y los controles de bloque en línea para un diseño compacto
Ejemplo: http://jsfiddle.net/hSuy4/292/
<div class="form-inline">
<input type="text">
<input type="button" class="btn" value="submit">
</div>
.form-horizontal = alinear a la derecha las etiquetas y flotarlas hacia la izquierda para hacer que aparezcan en la misma línea que los controles, lo que es mejor para el diseño de formulario de 2 columnas.
(e.g.
Label 1: [textbox]
Label 2: [textbox]
: [button]
)
Ejemplos: http://twitter.github.io/bootstrap/base-css.html#forms
Yo también estaba luchando con el mismo problema. Las clases de bootstrap que utilizo no funcionan para mí. Se me ocurrió una solución, como a continuación:
<form action=''...'' method=''POST'' class=''form-group''>
<div class="form-horizontal">
<input type="text" name="..."
class="form-control"
placeholder="Search People..."
style="width:280px;max-width:280px;display:inline-block"/>
<button type="submit"
class="btn btn-primary"
style="margin-left:-8px;margin-top:-2px;min-height:36px;">
<i class="glyphicon glyphicon-search"></i>
</button>
</div>
</form>
Básicamente, anulé la propiedad de visualización de la clase "control de formulario" y usé otras propiedades de estilo para corregir el tamaño y la posición.
El siguiente es el resultado:
puede utilizar la propiedad del botón de grupo de entrada para aplicar el botón directamente al campo de entrada.
Bootstrap 3 y 4
<div class="input-group">
<input type="text" class="form-control">
<span class="input-group-btn">
<button class="btn btn-default" type="button">Go!</button>
</span>
</div><!-- /input-group -->
Echa un vistazo a BS4 Input-Group doc para muchos más ejemplos.
<form class="form-inline">
<div class="form-group">
<label class="sr-only" for="exampleInputEmail3">Email address</label>
<input type="email" class="form-control" id="exampleInputEmail3" placeholder="Email">
</div>
<button type="submit" class="btn btn-default">Sign in</button>
</form>
style="padding-top: 8px"
Use esto para cambiar su div hacia arriba o hacia abajo en su fila. Obras maravillas para mi.