Unidad 7: Utilidades en Bootstrap
7.1 Introducción a las Utilidades en Bootstrap
Bootstrap proporciona un conjunto de clases de utilidades que permiten aplicar estilos de forma rápida sin necesidad de escribir CSS personalizado. Estas utilidades facilitan la manipulación de aspectos como colores, fondos, bordes, espaciado, visibilidad, posicionamiento y más.
Ventajas de usar Utilidades en Bootstrap
- 📋 Eficiencia: Permiten aplicar estilos sin necesidad de CSS adicional.
- 📱 Responsividad: Muchas utilidades incluyen variantes responsivas (
.d-md-block,.m-lg-3, etc.). - 🎨 Consistencia: Garantizan un diseño uniforme en toda la aplicación.
- 🚀 Velocidad de desarrollo: Se pueden aplicar directamente en los elementos HTML sin modificar hojas de estilo.
Ejemplo de Utilidades en Bootstrap
Ejemplo de uso de utilidades
.bg-primary→ Color de fondo azul..text-white→ Texto en color blanco..p-3→ Padding de tamaño3..rounded→ Bordes redondeados..shadow-lg→ Sombra grande.
7.2 Utilidades de Estilo y Diseño
7.2.1 Background (Fondos)
Las clases .bg-* permiten cambiar el color de fondo de un elemento utilizando la paleta de Bootstrap.
Ejemplo de fondos
.bg-primary→ Azul.bg-success→ Verde.bg-warning→ Amarillo
Colores disponibles
.bg-primary→ Azul.bg-primary-sutile→ Azul suave.bg-secondary→ Gris.bg-secondary-sutile→ Gris suave.bg-success→ Verde.bg-success-sutile→ Verde suave.bg-danger→ Rojo.bg-danger-sutile→ Rojo suave.bg-warning→ Amarillo.bg-warning-sutile→ Amarillo suave.bg-info→ Celeste.bg-info-sutile→ Celeste suave.bg-light→ Gris claro.bg-light-sutile→ Gris claro suave.bg-dark→ Gris oscuro.bg-dark-sutile→ Gris oscuro.bg-body-secondary→ Gris medio.bg-body-tertiary→ Gris claro.bg-body→ Gris muy claro.bg-white→ Blanco.bg-black→ Negro.bg-transparent→ Transparente
Podemos verlos copieando el siguiente ejemplo:
paleta de colores bs
Podemos utilizar gradients para crear fondos degradados. Para ello, al agregar una clase .bg-gradient, se agrega un gradiente lineal como imagen de fondo a los fondos. Este degradado comienza con un blanco semitransparente que se desvanece hacia el fondo.
¿Necesitas un degradado en tu CSS personalizado? Solo agrega background-image: var(--bs-gradient);.
Ejemplo de fondos degradados
Se pueden usar variantes de opacidad (.bg-opacity-*):
Los valores de opacidad van de 0 a 100, donde 0 es completamente transparente y 100 es completamente opaco.
Ejemplo de opacidad en fondos
También podemos aplicar imágenes de fondo usando clases CSS personalizadas.
Ejemplo de fondo con imagen
Las opciones de bakground-size son:
cover→ La imagen se ajusta al tamaño del contenedor.contain→ La imagen se ajusta al tamaño del contenedor sin recortar.auto→ La imagen se muestra en su tamaño original.100% 100%→ La imagen se ajusta al 100% del ancho y alto del contenedor.
7.2.2 Borders (Bordes)
Podemos aplicar bordes a cualquier elemento con .border. Podemos añadir bordes a elementos personalizados:
- border: añade un borde a todo el perímetro de un elemento.
- border-top: añade un borde solo en la parte superior.
- border-end: añade un borde solo en el lado derecho.
- border-bottom: añade un borde solo en la parte inferior
- border-start: añade un borde solo en el lado izquierdo.
- border-0: elimina todos los bordes.
Ejemplo de bordes en lados específicos
.border-top → Aplica borde solo en la parte superior.
- .border-bottom → Aplica borde solo en la parte inferior.
- .border-end → Aplica borde solo en el lado derecho.
- .border-4 → Grosor adicional del borde.
Podemos personalizar el grosor del borde con .border-* (.border-3, .border-4, etc.) y el color con .border-* (.border-primary, .border-danger, etc.).
Ejemplo de bordes
.border→ Borde básico..border-danger→ Borde rojo..border-3→ Grosor del borde.
Los bordes también pueden ser redondeados:
Ejemplo de bordes redondeados
.rounded → Bordes redondeados.
- .rounded-pill → Bordes completamente ovalados.
Los clases que podemos utilizar para los bordes redondeados son las siguientes:
.rounded→ Bordes redondeados..rounded-0→ Bordes cuadrados..rounded-1→ Bordes redondeados pequeños..rounded-2→ Bordes redondeados medianos..rounded-3→ Bordes redondeados grandes..rounded-circle→ Bordes completamente redondos..rounded-pill→ Bordes ovalados.
Si solo queremos redondear alguna de la esquinas:
.rounded-top→ Redondea solo la esquina superior..rounded-end→ Redondea solo la esquina derecha..rounded-bottom→ Redondea solo la esquina inferior..rounded-start→ Redondea solo la esquina izquierda.
Con estas opciones, Bootstrap permite personalizar los estilos de fondos y bordes de manera rápida y eficiente sin necesidad de CSS adicional.
7.2.3 Colors (Colores)
Bootstrap ofrece una amplia paleta de colores predefinidos para texto, fondos y bordes. Estas clases ayudan a mantener un diseño uniforme y facilitan la personalización de elementos.
Aplicación de Colores de Texto
Podemos cambiar el color del texto usando .text-*.
Ejemplo de colores de texto
.text-primary→ Azul.text-success→ Verde.text-danger→ Rojo.text-warning→ Amarillo
paleta de colores para el texto
Podemos hacer que los colores sean más sutiles con .text-opacity-*.
Ejemplo de opacidad en texto
7.3 Control de Diseño y Posicionamiento
7.3.1 Display (Visibilidad de Elementos)
Las clases .d-* permiten controlar cómo se muestra un elemento. Las opciones de display incluyen elementos de bloque, en línea y ocultos.
.d-block→ Elemento de bloque..d-none→ Oculto..d-inline→ Elemento en línea..d-inline-block→ Elemento en línea con bloque..d-flex→ Contenedor de elementos flexibles..d-grid→ Contenedor de elementos en cuadrícula..d-table→ Contenedor de elementos de tabla..d-table-row→ Fila de tabla..d-table-cell→ Celda de tabla.
Ejemplo de display
.d-block→ Elemento de bloque.d-none→ Oculto.d-inline→ Elemento en línea
Las variantes responsivas permiten cambiar la visibilidad según el tamaño de la pantalla (.d-md-none, .d-lg-block).
Ejemplo de display responsivo
| Tamaño de la pantalla | Clase |
|---|---|
| Oculto en todos los tamaños | .d-none |
| Oculto solo en xs | .d-none .d-sm-block |
| Oculto solo en sm | .d-sm-none .d-md-block |
| Oculto solo en md | .d-md-none .d-lg-block |
| Oculto solo en lg | .d-lg-none .d-xl-block |
| Oculto solo en xl | .d-xl-none |
| Oculoto solo en xxl | .d-xxl-none |
| Visible en todos los tamaños | .d-block |
| Visible solo en xs | .d-block .d-sm-none |
| Visible solo en sm | .d-none .d-sm-block .d-md-none |
| Visible solo en md | .d-none .d-md-block .d-lg-none |
| Visible solo en lg | .d-none .d-lg-block .d-xl-none |
| Visible solo en xl | .d-none .d-xl-block |
| Visible solo en xxl | .d-none .d-xxl-block |
Ejemplo, oculata en pantallas más pequeñas que lg y visible en pantallas más grandes que lg:
Ejemplo de display responsivo
7.3.2 Float (Flotado de Elementos)
Estas clases de utilidades hacen flotar un elemento hacia la izquierda o hacia la derecha, o deshabilitan la flotación, según el tamaño actual de la ventana gráfica mediante la propiedad flotante CSS. Se incluye !important para evitar problemas de especificidad. Estas usan los mismos puntos de interrupción de la ventana gráfica que nuestro sistema de cuadrícula. Tenga en cuenta que las utilidades flotantes no tienen efecto en los elementos flex.
Podemos hacer que un elemento flote a la izquierda o derecha usando .float-*.
Ejemplo de float
.float-start→ Flota a la izquierda.float-end→ Flota a la derecha.float-none→ Sin flotado
Las variantes responsivas permiten cambiar el flotado según el tamaño de la pantalla (.float-lg-end, .float-sm-none).
Ejemplo de float responsivo
Las variantes resposivas son:
.float-sm-start→ Flota a la izquierda en pantallas pequeñas.-float-sm-end→ Flota a la derecha en pantallas pequeñas..float-sm-none→ Sin flotado en pantallas pequeñas..float-md-start→ Flota a la izquierda en pantallas medianas..float-md-end→ Flota a la derecha en pantallas medianas..float-md-none→ Sin flotado en pantallas medianas..float-lg-start→ Flota a la izquierda en pantallas grandes..float-lg-end→ Flota a la derecha en pantallas grandes..float-lg-none→ Sin flotado en pantallas grandes..float-xl-start→ Flota a la izquierda en pantallas extra grandes..float-xl-end→ Flota a la derecha en pantallas extra grandes..float-xl-none→ Sin flotado en pantallas extra grandes..float-xxl-start→ Flota a la izquierda en pantallas extra extra grandes..float-xxl-end→ Flota a la derecha en pantallas extra extra grandes..float-xxl-none→ Sin flotado en pantallas extra extra grandes.
7.3.3 Position (Posicionamiento)
Hay clases de posicionamiento rápido disponibles, aunque no son responsivas.
.position-static→ Posición estática..position-relative→ Posición relativa..position-absolute→ Posición absoluta..position-fixed→ Posición fija..position-sticky→ Posición pegajosa.
Organizar elementos
Organice los elementos fácilmente con las utilidades de posicionamiento de bordes. El formato es {property}-{position}.
Donde la propiedad es una de:
top- for the verticaltoppositionstart- for the horizontalleftposition (in LTR)bottom- for the verticalbottompositionend- for the horizontalrightposition (in LTR)
Donde la posición es una de:
0- for0edge position50- for50%edge position100- para una posición de borde100%T

Ejemplo de posicionamiento
Además, también puede centrar los elementos con la clase de utilidad de transformación .translate-middle.
Ejemplo de posicionamiento centrado
Ejemplo de posicionamiento

Ejemplos de posicionamiento
7.3.4 Z-Index (Control de Capas)
Podemos controlar qué elementos aparecen por encima de otros usando .z-*. Los valores que pueden tomar son:
.z-1→ Capa inferior..z-2→ Capa media..z-3→ Capa superior..z-n1→ Capa inferior con!important..z-n2→ Capa media con!important..z-n3→ Capa superior con!important.
Caunto más alto es el número (*), más arriba se mostrará el elemento.

Ejemplo de Z-Index
.z-1,.z-3→ Define la jerarquía visual de los elementos superpuestos..translate-middle→ Centra los elementos en el medio de su contenedor.
7.4 Tamaño y Espaciado
7.4.1 Sizing (Tamaños)
Relativo al Contenedor Padre
Podemos ajustar el ancho y alto de los elementos con .w-* y .h-*. Donde el * puede ser un número del 0 al 100.
Podemos ajustar el ancho y alto de los elementos con .w-* y .h-*.
Ejemplo de control de tamaño
.w-25,.w-50,.w-100→ Ancho relativo al contenedor padre.
Podemos ajunstar el alto de los elementos con .h-*.
Ejemplo de control de tamaño
.h-25,.h-50,.h-100→ Alto relativo al contenedor padre.
7.4.2 Spacing (Márgenes y Padding)
Las utilidades de espaciado que se aplican a todos los puntos de interrupción, desde xs hasta xxl, no tienen abreviatura de punto de interrupción. Esto se debe a que esas clases se aplican desde min-width: 0 en adelante y, por lo tanto, no están restringidas por una consulta de medios (media query). Sin embargo, los puntos de interrupción restantes sí incluyen una abreviatura de punto de interrupción.
Las clases se nombran utilizando el formato {propiedad}{lados}-{tamaño} para xs y {propiedad}{lados}-{puntoDeInterrupción}-{tamaño} para sm, md, lg, xl y xxl.
Donde la propiedad es una de:
m- para clases que establecenmarginp- para clases que establecenpadding
Donde los lados son uno de:
t- para clases que establecenmargin-topopadding-topb- para clases que establecenmargin-bottomopadding-bottoms- (start) para clases que establecenmargin-leftopadding-leften LTR,margin-rightopadding-righten RTLe- (end) para clases que establecenmargin-rightopadding-righten LTR,margin-leftopadding-leften RTLx- para clases que establecen tanto*-leftcomo*-righty- para clases que establecen tanto*-topcomo*-bottom- (en blanco) - para clases que establecen
marginopaddingen los 4 lados del elemento
Donde el tamaño es uno de:
0- para clases que eliminan elmarginopaddingestableciéndolo en01- (por defecto) para clases que establecen elmarginopaddingen$spacer * 0.252- (por defecto) para clases que establecen elmarginopaddingen$spacer * 0.53- (por defecto) para clases que establecen elmarginopaddingen$spacer4- (por defecto) para clases que establecen elmarginopaddingen$spacer * 1.55- (por defecto) para clases que establecen elmarginopaddingen$spacer * 3auto- para clases que establecen elmarginenauto
Ejemplo de espaciado
.m-3,.p-3→ Aplica márgenes y padding uniformemente..mt-5→ Margen superior de tamaño 5.
**Centrado horizontal **
Podemos centrar elementos horizontal .mx-auto.
Ejemplo de centrado
.d-flex→ Contenedor de elementos flexibles..justify-content-center→ Centra horizontalmente..align-items-center→ Centra verticalmente.
Gap
Cuando se usa display: grid o display: flex, se pueden utilizar las utilidades de gap en el elemento padre. Esto evita tener que agregar utilidades de margin a los elementos secundarios de un contenedor grid o flex.

Ejemplo de gap
Podemos utilizar alternativamente row-gap y column-gap para controlar el espacio entre filas y columnas.
Ejemplo de row-gap
Ejemplo de column-gap
7.4.3 Vertical Align (Alineación Vertical)
Cambie la alineación de los elementos con las utilidades vertical-alignment. Tenga en cuenta que la alineación vertical solo afecta a los elementos de celda en línea, bloque en línea, tabla en línea y tabla.
Puedes utilizar .align-baseline, .align-top, .align-middle, .align-bottom, .align-text-bottom, y .align-text-top según se necesite.
Para centrar verticalmente el contenido no en línea (como <div>s y más), utilice nuestras utilidades de caja flexible.
En elementos en línea
Ejemplo de alineación en elementos en línea
Ejemplo de alineación en elementos celdas
7.4.4 Visibility (Visibilidad)
Controle la visibilidad de los elementos, sin modificar su visualización, con las utilidades de visibilidad.
Establezca la visibilidad de los elementos con nuestras utilidades de visibilidad. Estas clases de utilidades no modifican el valor de visualización en absoluto y no afectan el diseño: los elementos .invisible aún ocupan espacio en la página.
Aplique .visible o .invisible según sea necesario.
Ejemplo de visibilidad
.visible → Hace que el elemento sea visible.
- .invisible → Oculta el elemento sin eliminarlo del flujo del documento.
Con estas herramientas, Bootstrap permite diseñar y controlar el posicionamiento, tamaño, espaciado y visibilidad de los elementos de manera flexible y eficiente.