Skip to content

Bootstrap y sus clases más utilizadas ​

1. ¿Qué es Bootstrap? ​

Bootstrap es un framework de CSS que proporciona clases predefinidas para diseñar interfaces sin tener que escribir todos los estilos desde cero.

Por ejemplo, en lugar de crear un botón y escribir su CSS, puedes utilizar:

html
<button class="btn btn-primary">
  Guardar
</button>

2. Contenedores y distribución ​

Bootstrap utiliza un sistema de filas y columnas para organizar el contenido de una página.

ClaseFunción
containerContenedor con ancho máximo adaptable según el dispositivo.
container-fluidContenedor que ocupa todo el ancho disponible.
rowCrea una fila para organizar columnas.
colCrea una columna que comparte el espacio disponible.
col-6Ocupa 6 de las 12 columnas, es decir, el 50 %.
col-12Ocupa todo el ancho de la fila.
g-3Agrega separación entre columnas y filas del sistema grid.

Ejemplo ​

html
<div class="container">
  <div class="row g-3">
    <div class="col-12 col-md-6">
      <div class="p-3 border">Columna 1</div>
    </div>

    <div class="col-12 col-md-6">
      <div class="p-3 border">Columna 2</div>
    </div>
  </div>
</div>

En este ejemplo:

  • col-12: ocupa todo el ancho en pantallas pequeñas.
  • col-md-6: desde el punto de quiebre md, cada columna ocupa la mitad.
  • p-3: agrega espacio interior.
  • border: agrega un borde.
  • g-3: separa las columnas.

3. Diseño responsive ​

Bootstrap permite cambiar el diseño dependiendo del ancho de la pantalla.

PrefijoAncho mínimo
col-Sin punto de quiebre
col-sm-576 px
col-md-768 px
col-lg-992 px
col-xl-1200 px
col-xxl-1400 px

Ejemplo:

html
<div class="col-12 col-md-6 col-lg-4">
  Contenido
</div>

Esto significa:

  • En pantallas pequeñas: 12 de 12 columnas.
  • Desde md: 6 de 12 columnas.
  • Desde lg: 4 de 12 columnas.

4. Márgenes y espaciado ​

Bootstrap ofrece clases para agregar márgenes y espacio interior sin escribir CSS manualmente.

La estructura general es:

{propiedad}{lados}-{tamaño}

Propiedades y lados ​

ClaseSignificado
mMargen exterior.
pEspaciado interior (padding).
mt-Margen superior.
mb-Margen inferior.
ms-Margen al inicio del elemento.
me-Margen al final del elemento.
mx-Margen horizontal.
my-Margen vertical.
px-Espaciado interior horizontal.
py-Espaciado interior vertical.

Los tamaños habituales van de 0 a 5; también existen auto para ciertos márgenes.

html
<div class="mt-3 mb-4 px-2 py-3">
  Contenido con espaciado
</div>
  • mt-3: margen superior.
  • mb-4: margen inferior.
  • px-2: espacio interior horizontal.
  • py-3: espacio interior vertical.

5. Texto y colores ​

ClaseFunción
text-primaryTexto con el color principal.
text-successTexto asociado al éxito.
text-dangerTexto asociado a errores o peligro.
text-warningTexto de advertencia.
text-mutedTexto secundario o atenuado.
text-centerCentra el texto.
text-startAlinea el texto al inicio.
text-endAlinea el texto al final.
fw-boldTexto en negrita.
fw-normalPeso de fuente normal.
fs-1 a fs-6Tamaños de texto predefinidos.

Ejemplo:

html
<h2 class="text-primary fw-bold">
  Inventario
</h2>

<p class="text-muted text-center">
  Consulta los productos registrados.
</p>

6. Botones ​

La clase btn es la base de los botones de Bootstrap.

ClaseApariencia o propósito
btnEstilos base del botón.
btn-primaryAcción principal.
btn-secondaryAcción secundaria.
btn-successAcción positiva.
btn-dangerAcción destructiva.
btn-warningAdvertencia.
btn-outline-primaryBotón con borde y estilo principal.
btn-smBotón pequeño.
btn-lgBotón grande.
w-100Ancho del 100 %.

Ejemplo:

html
<button class="btn btn-primary">
  Guardar
</button>

<button class="btn btn-outline-secondary btn-sm">
  Cancelar
</button>

<button class="btn btn-danger w-100">
  Eliminar
</button>

7. Formularios ​

Bootstrap facilita el diseño de campos de entrada, selectores y otros controles.

ClaseFunción
form-labelEstiliza la etiqueta de un campo.
form-controlEstiliza campos como input y textarea.
form-selectEstiliza un elemento select.
form-checkContenedor para checkbox o radio.
form-check-inputEstiliza el checkbox o radio.
form-check-labelEstiliza la etiqueta correspondiente.

Ejemplo:

html
<div class="mb-3">
  <label for="nombre" class="form-label">
    Nombre del producto
  </label>

  <input
    type="text"
    id="nombre"
    class="form-control"
    placeholder="Ingrese el nombre"
  >
</div>

<div class="mb-3">
  <label for="categoria" class="form-label">
    Categoría
  </label>

  <select id="categoria" class="form-select">
    <option value="">Seleccione una categoría</option>
    <option value="1">Accesorios</option>
    <option value="2">Repuestos</option>
  </select>
</div>

8. Tablas ​

Bootstrap también ofrece clases para dar formato a las tablas HTML.

ClaseFunción
tableEstilo base de la tabla.
table-stripedAlterna el fondo de las filas.
table-borderedAgrega bordes a las celdas.
table-hoverResalta una fila al pasar el cursor.
table-smReduce el espaciado de las celdas.
table-responsivePermite desplazamiento horizontal cuando la tabla no cabe.

Ejemplo:

html
<div class="table-responsive">
  <table class="table table-striped table-hover">
    <thead>
      <tr>
        <th>Producto</th>
        <th>Precio</th>
        <th>Existencia</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td>Teclado</td>
        <td>15000</td>
        <td>10</td>
      </tr>
    </tbody>
  </table>
</div>

Importante: table-responsive debe colocarse en un contenedor alrededor de la tabla para que el desplazamiento horizontal funcione correctamente.

9. Flexbox y alineación ​

Bootstrap incluye clases basadas en Flexbox para organizar elementos.

ClaseFunción
d-flexActiva Flexbox.
flex-columnOrganiza elementos verticalmente.
flex-rowOrganiza elementos horizontalmente.
justify-content-betweenDistribuye elementos dejando espacio entre ellos.
justify-content-centerCentra elementos en el eje principal.
align-items-centerAlinea elementos en el eje transversal.
flex-wrapPermite que los elementos pasen a otra línea.
gap-2Agrega separación entre elementos flexibles o de grid.

Ejemplo:

html
<div class="d-flex justify-content-between align-items-center gap-2">
  <h2 class="mb-0">Productos</h2>
  <button class="btn btn-primary">Nuevo</button>
</div>

Esto permite colocar el título a la izquierda y el botón a la derecha, alineados verticalmente.

10. Tarjetas y visibilidad ​

ClaseFunción
cardDefine una tarjeta.
card-bodyContenido interno de la tarjeta.
card-titleTítulo de la tarjeta.
card-textTexto de la tarjeta.
d-noneOculta un elemento.
d-blockMuestra un elemento como bloque.
d-inlineMuestra un elemento en línea.
d-md-noneOculta el elemento desde el punto de quiebre md en adelante.
d-none d-md-blockOculta el elemento en pantallas pequeñas y lo muestra desde md.

Ejemplo:

html
<div class="card">
  <div class="card-body">
    <h5 class="card-title">Teclado</h5>
    <p class="card-text">Precio: ₡15000</p>
    <button class="btn btn-primary">Ver detalles</button>
  </div>
</div>

11. Las clases que más conviene memorizar ​

Si estás comenzando, prioriza estas:

NecesidadClases
Organizar una páginacontainer, row, col
Adaptar a pantallascol-12, col-md-6, col-lg-4
Agregar espaciomt-3, mb-3, p-3, gap-2
Alinear elementosd-flex, justify-content-between, align-items-center
Crear botonesbtn, btn-primary, btn-danger
Diseñar formulariosform-label, form-control, form-select
Diseñar tablastable, table-striped, table-hover, table-responsive
Diseñar tarjetascard, card-body, card-title
Estilizar textotext-center, text-muted, fw-bold

Consejo: no necesitas memorizar todas las clases de Bootstrap. Aprende cómo se construyen sus nombres y consulta la documentación cuando necesites algo específico.