Cómo dar espacio entre botones usando bootstrap

82

Quiero dar espacio entre botones, ¿hay alguna manera de dar espacio usando bootstrap para que sean consistentes para diferentes resoluciones de pantalla?

Intenté usar ¿ margin-leftPero es la forma correcta de hacer esto?

Aquí está la demostración

HTML:

<div class="btn-toolbar text-center well">
    <button type="button" class="btn btn-primary btn-color btn-bg-color btn-sm col-xs-2 margin-left">
      <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> ADD PACKET
    </button>
    <button type="button" class="btn btn-primary btn-color btn-bg-color btn-sm col-xs-2 margin-left">
      <span class="glyphicon glyphicon-edit" aria-hidden="true"></span> EDIT CUSTOMER
    </button>
    <button type="button" class="btn btn-primary btn-color btn-bg-color btn-sm col-xs-2 margin-left">
      <span class="glyphicon glyphicon-time" aria-hidden="true"></span> HISTORY
    </button>
    <button type="button" class="btn btn-primary btn-color btn-bg-color btn-sm col-xs-2 margin-left">
      <span class="glyphicon glyphicon-trash" aria-hidden="true"></span> DELETE CUSTOMER
    </button>
</div>

CSS:

.margin-left{
    margin-left: 80px !important;
}
vaibhav jain
fuente
Sí lo es, o puede usar col-sm-offset o algo similar
ppascualv
El tamaño del botón debe ser independiente. Miren chicos (www.bootply.com/dDfIHeZizW) si cambio el ancho de los botones, su alineación se distorsiona.
vaibhav jain
Después de probar varias soluciones y obtener comentarios de otros chicos ##bootstrap IRC, he decidido seguir adelante margin-leftpor ahora. Gracias chicos ...
vaibhav jain
2
esta es la respuesta correcta: stackoverflow.com/a/11216667/670229
brauliobo

Respuestas:

107

Puede lograrlo mediante el uso de bootstrap Spacing . Bootstrap Spacing incluye una amplia gama de margen y relleno de respuesta abreviada. En el siguiente ejemplo, mr-1establezca margino paddingen $spacer* .25.

Ejemplo:

<button class="btn btn-outline-primary mr-1" href="#">Sign up</button>
<button class="btn btn-outline-primary" href="#">Login</button>

Puede leer más en Bootstrap Spacing .

Asif Raza
fuente
10
acaba de agregar mr-1 y boom. Gracias @ A.Raza.
ImFarhad
7
esto es para bootstrap4
Hassaan
Sí, esto es para "twbs 4.x".
Asif Raza
3
¡Gracias, esto era lo que estaba buscando!
Nahuel Gonzalez
¿Está spacerdefinido dentro de bootstrap?
Corchetes
66

HTML:

<input id="id_ok" class="btn btn-space" value="OK" type="button">
<input id="id_cancel" class="btn btn-space" value="Cancel" type="button">

CSS:

.btn-space {
    margin-right: 5px;
}
Sergey Chepurnov
fuente
1
A pesar de que no se mencionó explícitamente, el OP significaba que querían canalones en botones seguidos. Esta solución romperá la cuadrícula de bootstrap, haciendo que los botones cuya suma requiera un ancho del 100% comiencen a ajustarse.
papiro
13
  1. Envuelva sus botones en un div con class='col-xs-3'(por ejemplo).
  2. Agregue class="btn-block"a sus botones.

Esto proporcionará un espacio permanente.

Alex Khlebaev
fuente
Pero si uso class = 'col-xs-2' en lugar de class='col-xs-3'la orientación distorsiona ..
vaibhav jain
Esto también ayuda cuando desea que los botones se coloquen uno debajo del otro en resoluciones más pequeñas. "Para anidar su contenido con la cuadrícula predeterminada, agregue una nueva fila y un conjunto de columnas .col-sm- * dentro de una columna .col-sm- * existente". - fuente: getbootstrap.com/docs/3.4/css
Fanky
10

Si desea usar el margen, elimine la clase en cada botón y use : selector de CSS del último hijo .

HTML:

<div class="btn-toolbar text-center well">
    <button type="button" class="btn btn-primary btn-color btn-bg-color btn-sm col-xs-2">
      <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> ADD PACKET
    </button>
    <button type="button" class="btn btn-primary btn-color btn-bg-color btn-sm col-xs-2">
      <span class="glyphicon glyphicon-edit" aria-hidden="true"></span> EDIT CUSTOMER
    </button>
    <button type="button" class="btn btn-primary btn-color btn-bg-color btn-sm col-xs-2">
      <span class="glyphicon glyphicon-time" aria-hidden="true"></span> HISTORY
    </button>
    <button type="button" class="btn btn-primary btn-color btn-bg-color btn-sm col-xs-2">
      <span class="glyphicon glyphicon-trash" aria-hidden="true"></span> DELETE CUSTOMER
    </button>
</div>

CSS:

.btn-toolbar .btn{
    margin-right: 5px;
}
.btn-toolbar .btn:last-child{
    margin-right: 0;
}
Thibaud Granier
fuente
4

Depende de la cantidad de espacio que desee. No estoy seguro de estar de acuerdo con la lógica de agregar un "col-XX-1" entre cada uno, porque luego está definiendo una "columna" completa entre cada uno.

Si solo desea "un poco de espacio" entre cada botón, me gusta agregar relleno a la fila circundante. De esa manera, todavía puedo usar las 12 columnas, mientras incluyo un "espacio" entre cada botón.

Bootply: http://www.bootply.com/ugeXrxpPvD

mira
fuente
@brauliobo agrega la tuya como respuesta porque creo que es la correcta.
ganders
3

Usar btn-primary-spacingclase para todos los botones eliminar margin-leftclase

Ejemplo:

<button type="button" class="btn btn-primary btn-color btn-bg-color btn-sm col-xs-2 btn-primary-spacing">
  <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> ADD PACKET
</button>

CSS será como:

.btn-primary-spacing 
{
margin-right: 5px;
margin-bottom: 5px !important;
}
Shashikala
fuente
2
¿De dónde btn-primary-spacingviene la clase ?
ToniTornado
1
Parece una implementación personalizada. Algún código estaría bien aquí
Markus Graf
2

Puede usar el espaciado incorporado de Bootstrap, por lo que no es necesario CSS adicional allí. Esto es para Bootstrap 4.

Dragan B.
fuente
2

Agregar márgenes a un botón lo hace más ancho para que los botones quepan en el sistema de cuadrícula. Si solo es importante un efecto visual, entonces dé al botón un borde blanco con [style = "margin: 0px; border: solid white;"] Esto no afecta el ancho del botón.

Theo Knoops
fuente
2

El código original está mayormente ahí, pero necesita btn-groups alrededor de cada botón. En Bootstrap 3 puede usar una barra de herramientas btn y un grupo btn para hacer el trabajo; No he hecho BS4 pero tiene construcciones similares.

<div class="btn-toolbar" role="toolbar">
  <div class="btn-group" role="group">
    <button class="btn btn-default">Button 1</button>
  </div>
  <div class="btn-group" role="group">
    <button class="btn btn-default">Button 2</button>
  </div>
</div>
Mike K
fuente
Implementé esto, pero no proporciona un espaciado vertical para los botones, lo cual fue notable para mí cuando se envolvieron en dos líneas / "filas".
LeeC
1

Soy bastante malo en html pero usé &nbsp;entre los botones y funcionó bien.

Philippe Remy
fuente
Curiosamente, esto funciona mucho mejor para mí que las soluciones más sofisticadas anteriores.
Max von Hippel
0

usando bootstrap puede agregar <div class="col-sm-1 col-xs-1 col-md-1 col-lg-1"></div>entre botones.

Joaquín Oscar Ibar
fuente