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;
}

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 .


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;
}

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.


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;
}

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


@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;
}

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

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.


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>

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.


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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.