Академический Документы
Профессиональный Документы
Культура Документы
Generalidades
Descripción breve
Bootstrap es un framework que facilita la creación de sitios Web de una forma más rápida, sencilla y
con una mejor apariencia. En este documento se presenta una rápida y breve descripción sobre los
elementos para diseño web que nos provee Bootstrap en su versión 4.
Contenido
Unidad I: Introducción a Bootstrap
Introducción a Bootstrap 4.................................................................................................................1
Descargando Bootstrap..................................................................................................................1
Utilize el CDN de Bootstrap............................................................................................................2
Contenido de Bootstrap.................................................................................................................2
Contenidos del código fuente de Bootstrap...................................................................................3
La Primera plantilla con Bootstrap.................................................................................................4
Compatibilidad con los navegadores..............................................................................................4
Navegadores en dispositivos móviles.........................................................................................5
Visión general.....................................................................................................................................8
Contenedores.................................................................................................................................8
Migrando a v4..................................................................................................................................10
Cambios estables..........................................................................................................................10
Impresión.................................................................................................................................10
Resumen......................................................................................................................................10
Soporte del navegador.............................................................................................................10
Cambios globales......................................................................................................................10
Sistema de rejilla......................................................................................................................11
Componentes...............................................................................................................................12
Por componente...........................................................................................................................12
Reiniciar....................................................................................................................................12
Tipografía.................................................................................................................................12
Imágenes..................................................................................................................................13
Tablas.......................................................................................................................................13
Formas......................................................................................................................................13
Botones....................................................................................................................................14
Grupo de botones....................................................................................................................14
Listas desplegables...................................................................................................................14
Sistema de red..........................................................................................................................15
Lista de grupos.........................................................................................................................15
Modal.......................................................................................................................................15
Navs..........................................................................................................................................15
Barra de navegación.................................................................................................................16
Paginación................................................................................................................................16
Migas de pan............................................................................................................................16
Etiquetas e insignias.................................................................................................................17
Paneles, miniaturas y pozos.....................................................................................................17
Paneles.....................................................................................................................................17
Progreso...................................................................................................................................17
Carrusel....................................................................................................................................17
Mesas.......................................................................................................................................18
Utilidades.................................................................................................................................18
Mixins de prefijo de proveedor................................................................................................19
Documentación............................................................................................................................19
Utilidades receptivas................................................................................................................19
Diseñando con rejilla........................................................................................................................21
Elemento contenedor..................................................................................................................21
Funcionamiento del sistema de rejilla..........................................................................................21
Columnas de ancho especifico.....................................................................................................23
Selección de tamaño de las columnas solo para pantallas medianas.......................................23
Selección de dos tamaños de columna: pequeño y mediano...................................................24
Selección de tres tamaños: extra pequeño, pequeño y mediano.............................................25
Columnas de ancho automático...................................................................................................27
Modo mixto..................................................................................................................................28
Ancho de columna variable..........................................................................................................28
Forzar el cambio de fila................................................................................................................29
Anidamiento de columnas...........................................................................................................30
Espaciado entre columnas............................................................................................................30
Márgenes.....................................................................................................................................31
Ordenación de columnas.............................................................................................................32
Alineación.....................................................................................................................................33
Alineación vertical....................................................................................................................33
Alineación horizontal................................................................................................................34
Alineación responsive...............................................................................................................35
Utilidades.........................................................................................................................................37
Bordes..........................................................................................................................................37
Color del borde.........................................................................................................................37
Radio de borde.........................................................................................................................38
Tamaños...................................................................................................................................38
Clearfix.........................................................................................................................................38
Icono de cierre.............................................................................................................................38
Colores.........................................................................................................................................39
Propiedades del Monitor.............................................................................................................40
Embebidos....................................................................................................................................42
Flexionar...................................................................................................................................44
Dirección..................................................................................................................................45
Flotador....................................................................................................................................46
Interacciones............................................................................................................................47
Desbordamiento..........................................................................................................................47
Lectores de pantalla.....................................................................................................................47
Sombreado...................................................................................................................................48
Dimensionamiento.......................................................................................................................48
Espaciado.....................................................................................................................................49
Texto............................................................................................................................................51
Alineamiento vertical...............................................................................................................55
Visibilidad.................................................................................................................................56
Componentes...................................................................................................................................57
Alertas..........................................................................................................................................57
Insignias........................................................................................................................................61
Variaciones contextuales..........................................................................................................62
Insignias de pastillas.................................................................................................................62
Enlaces.....................................................................................................................................63
Migas de pan................................................................................................................................63
Botones........................................................................................................................................64
Etiquetas de botones................................................................................................................65
Botones de esquema................................................................................................................65
Tamaños...................................................................................................................................65
Estados: Activos / Desactivado.................................................................................................66
Casilla de verificación y botones de radio................................................................................66
Grupo de botones........................................................................................................................67
Barra de herramientas de botones...........................................................................................68
Dimensionamiento...................................................................................................................68
Anidamiento.............................................................................................................................69
Variación vertical......................................................................................................................69
Tarjetas........................................................................................................................................70
Tipos de contenido...................................................................................................................71
Lista de grupos.........................................................................................................................73
Encabezado y pie de página.....................................................................................................73
Estilos de tarjeta.......................................................................................................................75
Bordes......................................................................................................................................76
Menú o listas desplegables..........................................................................................................77
Botón de división......................................................................................................................78
Dimensionamiento...................................................................................................................79
Direcciones...............................................................................................................................79
Contenido del menú.................................................................................................................81
Formularios..................................................................................................................................84
Controles de formulario...........................................................................................................85
Grupo de entrada.........................................................................................................................88
Dimensionamiento...................................................................................................................89
Casillas de verificación y radios................................................................................................89
Entradas múltiples....................................................................................................................90
Complementos múltiples.........................................................................................................90
Botones con menús desplegables............................................................................................91
Botones segmentados..............................................................................................................91
Formularios personalizados.....................................................................................................92
Jumbotron....................................................................................................................................93
Lista de grupo...............................................................................................................................95
Artículos activos.......................................................................................................................95
Artículos deshabilitados...........................................................................................................96
Enlaces y botones.....................................................................................................................96
Rubor........................................................................................................................................97
Horizontal.................................................................................................................................97
Clases contextuales..................................................................................................................97
Con insignias.............................................................................................................................99
Contenido personalizado..........................................................................................................99
Objetos multimedia....................................................................................................................100
Anidamiento...........................................................................................................................101
Alineación...............................................................................................................................102
Orden.....................................................................................................................................103
Lista de medios.......................................................................................................................103
Modal.........................................................................................................................................104
Componentes modales...........................................................................................................104
Navs............................................................................................................................................105
Estilos disponibles..................................................................................................................106
Pestañas.................................................................................................................................107
Pastillas..................................................................................................................................108
Llenar y justificar....................................................................................................................108
Sobre accesibilidad.................................................................................................................109
Contenido soportado.............................................................................................................111
Elemento Brand......................................................................................................................113
Nav.........................................................................................................................................114
Formas....................................................................................................................................114
Texto......................................................................................................................................115
Esquemas de color.................................................................................................................116
Contenedores.............................................................................................................................117
Colocación:.............................................................................................................................117
Contenido externo.................................................................................................................117
Paginación..................................................................................................................................118
Trabajando con iconos...........................................................................................................119
Estados desactivados y activos...............................................................................................119
Dimensionamiento.................................................................................................................120
Alineación...............................................................................................................................120
Popovers....................................................................................................................................121
Visión general.........................................................................................................................121
Scrollspy.....................................................................................................................................123
Cómo funciona.......................................................................................................................123
Navegación anidada...............................................................................................................127
list-group................................................................................................................................128
Hiladores....................................................................................................................................128
Colores...................................................................................................................................129
Spinner creciente...................................................................................................................129
Alineación...............................................................................................................................130
Tamaño..................................................................................................................................131
Botones..................................................................................................................................132
Toasts (Tostadas)........................................................................................................................132
Información sobre herramientas................................................................................................134
Introducción a Bootstrap 4
Bootstrap es un kit de herramientas de código abierto para desarrollar con HTML, CSS y JS.
Nos permite crear sitios web responsivos y con prioridad para
dispositivos móviles. Actualmente se encuentra disponible la versión
4.4.1 (cuya versión base es la 4.0.0) en el sitio web oficial de
Bootstrap.
Descargando Bootstrap
Existen diferentes formas de enlazar los archivos de Bootstrap y empezar a trabajar con
este en nuestro proyecto web, cada una orientada a un tipo de público en función de su
nivel técnico. A continuación, se presentan las diferentes formas de integrar Bootstrap
ofrecidas por BootstrapCDN:
3.2. RubyGems
Aplicaciones Ruby usando Bundler y RubyGems agregando la siguiente línea a
su Gemfile:
gem 'bootstrap', '~> 4.4.1'
alternativamente, puedes instakar la gema con el comando:
$ gem install bootstrap –v 4.4.1
3.3. Composer
En proyectos PHP mediante composer
$ composer require twbs/bootstrap:4.4.1
3.4. NuGet
En proyectos .NET mediante NuGet
1
# instala la versión CSS de Bootstrap
PM> Install-Package Bootstrap
JavaScript:
<script
src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"
integrity="sha384wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB
6" crossorigin="anonymous"></script>
Bootstrap JavaScript requiere las librerias JQuery y Popper.js para funcionar correctamente
(use primero JQuery, luego Popper y por ultimo Bootstrap para que funcione
correctamente):
JQuery:
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"
integrity="sha384J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+
n" crossorigin="anonymous"></script>
Popper.js
<script
src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
integrity="sha384Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooA
o" crossorigin="anonymous"></script>
Contenido de Bootstrap
Dependiendo de la forma que hayas elegido para descargar Bootstrap, verás una
estructura de directorios u otra. En esta sección se muestran los detalles de cada una de
ellas.
Nota: Como ya se ha mencionado previamente los plugins JavaScript de Bootstrap
requieren de las librerías JQuery y Popper para funcionar correctamente, por lo tanto,
deben agregarse a tu proyecto (con los enlaces proporcionados en el apartado anterior).
bootstrap/
├── css/
│ ├── bootstrap-grid.css
│ ├── bootstrap-grid.css.map
│ ├── bootstrap-grid.min.css
│ ├── bootstrap-grid.min.css.map
│ ├── bootstrap-reboot.css
│ ├── bootstrap-reboot.css.map
│ ├── bootstrap-reboot.min.css
│ ├── bootstrap-reboot.min.css.map
│ ├── bootstrap.css
│ ├── bootstrap.css.map
│ ├── bootstrap.min.css
│ └── bootstrap.min.css.map
└── js/
├── bootstrap.bundle.js
├── bootstrap.bundle.js.map
├── bootstrap.bundle.min.js
├── bootstrap.bundle.min.js.map
├── bootstrap.js
├── bootstrap.js.map
├── bootstrap.min.js
└── bootstrap.min.js.map
Esta es la forma más básica de Bootstrap: archivos precompilados para un uso rápido en
casi cualquier proyecto web. Proporcionamos CSS y JS compilados ( bootstrap.*), así como
CSS y JS compilados y minificados ( bootstrap.min.*). los mapas fuente ( bootstrap.*.map)
están disponibles para usar con las herramientas de desarrollo de ciertos navegadores. Los
archivos JS bootstrap.bundle.jsincluidos ( y minificados bootstrap.bundle.min.js) incluyen
Popper , pero no jQuery .
<!-- Enlazando el CSS de Bootstrap -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstra
p/4.4.1/css/bootstrap.min.css" integrity="sha384-
Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigi
n="anonymous">
<title>¡Hola Mundo!</title>
</head>
<body>
<h1>¡Hola Mundo!</h1>
<!-- Opcional: enlazando el JavaScript de Bootstrap -->
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrit
y="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.m
in.js" integrity="sha384-
Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigi
n="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap
.min.js" integrity="sha384-
wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigi
n="anonymous"></script>
</body>
</html>
Compatibilidad con los navegadores
Bootstrap es compatible con las versiones estables más recientes de todos los
navegadores y sistemas operativos más populares. De hecho, Bootstrap soporta hasta
Internet Explorer 10-11 y Microsoft Edge en Windows.
last 1 major version
not dead
Chrome >= 45
Firefox >= 38
Edge >= 12
Explorer >= 10
iOS >= 9
Safari >= 9
Android >= 4.4
Opera >= 30
iOS ✔ ✔ ✔ N/E ✔
Windows 10
N/E N/E N/E N/E ✔
Mobile
Internet Explorer
Internet Explorer 10 o superior tiene soporte oficial, pero Internet Explorer 9 no. Además,
algunas propiedades de CSS3 y algunos elementos de HTML5 no funcionan bien en IE10,
por lo que es posible que necesites añadir prefijos especiales para ese navegador.
Validadores
Con el fin de proporcionar la mejor experiencia posible a los navegadores antiguos y con
errores, Bootstrap utiliza hacks del navegador CSS en varios lugares para apuntar CSS
especial a ciertas versiones del navegador para evitar errores en los mismos
navegadores. Es comprensible que estos hacks hagan que los validadores de CSS se
quejen de que no son válidos. En un par de lugares, también utilizamos funciones CSS de
vanguardia que aún no están completamente estandarizadas, pero se utilizan únicamente
para una mejora progresiva.
Accesibilidad
La accesibilidad de un proyecto diseñado con Bootstrap depende fundamentalmente del
código HTML y los estilos/plugins que añadas tú mismo. Aun así, Bootstrap hace todo lo
posible para ayudarte a conseguir que tus sitios sean accesibles.
Elementos HTML
La documentación de Bootstrap siempre muestra en sus ejemplos los elementos y
atributos HTML recomendados para hacer tus aplicaciones accesibles.
Componentes interactivos
Los componentes interactivos, como las ventanas modales y los menús desplegables han
sido diseñados para que funcionen con el ratón, el teclado y también las pantallas táctiles
de los móviles. Gracias al uso de los atributos WAI-ARIA, estos componentes también son
accesibles mediante dispositivos como lectores de pantalla
Contraste de colores
Desafortunadamente, la mayoría de colores de las paletas generadas por Bootstrap no
tienen un nivel de contraste suficiente según el estándar WCAG 2.0, que requiere un ratio
de 4.5:1 cuando se utiliza un color de fondo claro. Así que tendrás que definir tus propios
colores si quieres lograr ese objetivo.
Ocultando contenidos
Los contenidos que no se muestran por pantalla pero que se incluyen para que sean
accedidos por dispositivos como los lectores de pantalla, se pueden ocultar aplicando la
clase CSS .sr-only (el nombre viene de las siglas en inglés de "screen reader" o lector de
pantalla):
<p class="text-danger">
<span class="sr-only">Advertencia: </span>
Esta acción es irreversible.
</p>
Reduciendo el movimiento
Bootstrap también soporta el uso de la opción prefers-reduced-motion mediante la
cual los navegadores indican que el usuario prefiere reducir el movimiento de los
elementos de la página. Si está activada, las ventanas modales por ejemplo no muestran
ninguna animación ni al abrirse ni al cerrarse.
Visión general
Contenedores
Los contenedores son el elemento de diseño más básico en Bootstrap y son necesarios
cuando se utiliza el sistema de cuadrícula predeterminado. Los contenedores se usan
para contener, rellenar y (a veces) centrar el contenido dentro de ellos. Si bien los
contenedores se pueden anidar, la mayoría de los diseños no requieren un contenedor
anidado.
<div class="container">
<!-- Content here -->
</div>
Migrando a v4
Cambios estables
Pasando de Beta 3 a nuestra versión estable v4.x, no hay cambios importantes, pero hay
algunos cambios notables.
Impresión
Se repararon las utilidades de impresión rotas. Anteriormente, el uso de una clase
.d-print-* anularía inesperadamente cualquier otra clase .d-*.
Resumen
Estos son los artículos importantes que querrá tener en cuenta al pasar de v3 a v4.
Se eliminó la compatibilidad con IE8, IE9 e iOS 6. v4 ahora solo es IE10 + e iOS
7+. Para los sitios que necesitan cualquiera de esos, use v3.
Se agregó soporte oficial para Android v5.0 Lollipop's Browser y WebView. Las
versiones anteriores del navegador Android y WebView siguen siendo compatibles
de forma no oficial.
Cambios globales
Flexbox está habilitado por defecto. En general, esto significa alejarse de los
flotadores y más a través de los componentes Bootstrap.
Cambió de Less a Sass para nuestros archivos CSS de origen.
Cambió de px a rem como nuestra unidad CSS principal, aunque los píxeles
todavía se usan para consultas de medios y el comportamiento de la cuadrícula ya
que las vistas de los dispositivos no se ven afectadas por el tamaño de letra.
El tamaño de fuente global aumentó de 14px a 16px.
Se renovaron los niveles de la cuadrícula para agregar una quinta opción (abordar
dispositivos más pequeños en 576px y debajo) y se eliminó el infijo –xs de esas
clases. Ejemplo: .col-6 .col-sm-4 .col-md-3.
Se reemplazó el tema opcional por separado con opciones configurables a través
de variables SCSS (por ejemplo, $enable-gradients: true).
Sistema de construcción revisado para usar una serie de scripts npm en lugar de
Grunt. Consulte package.json todos los scripts o el archivo Léame de nuestro
proyecto para las necesidades de desarrollo local.
El uso no receptivo de Bootstrap ya no es compatible.
Descartó el Personalizador en línea a favor de una documentación de configuración
más extensa y compilaciones personalizadas.
Se agregaron docenas de nuevas clases de utilidades para pares de valores de
propiedad CSS comunes y atajos de espacio de margen/relleno.
Sistema de rejilla
Movido a flexbox.
o Se agregó soporte para flexbox en los mixins de cuadrícula y clases
predefinidas.
o Como parte de flexbox, se incluye soporte para las clases de alineación
vertical y horizontal.
Nombres de clase de cuadrícula actualizados y un nuevo nivel de cuadrícula.
o Se agregó un nuevo nivel sm de cuadrícula a continuación 768px para un
control más granular. Ahora tenemos xs, sm, md, lg, y xl. Esto también
significa que cada nivel ha aumentado un nivel (por lo que .col-md-6 en
v3 ahora está .col-lg-6 en v4).
o Las clases xs de cuadrícula se han modificado para que no requieran que el
infijo represente con mayor precisión que comienzan a aplicar estilos min-
width: 0 y no un valor de píxel establecido. En lugar de .col-xs-6, es
ahora .col-6. Todos los demás niveles de cuadrícula requieren el infijo (por
ejemplo, sm).
Tamaños de cuadrícula, mixins y variables actualizados.
o Las canaletas de cuadrícula ahora tienen un mapa Sass para que pueda
especificar anchos de canaleta específicos en cada punto de interrupción.
o Mixins rejilla Actualizado utilizar un make-col-ready mixin prep y
una make-col para establecer el flex y max-width para el
dimensionamiento columna individual.
o Se cambiaron los puntos de corte de consulta de medios del sistema de
cuadrícula y los anchos de contenedor para tener en cuenta el nuevo nivel
de cuadrícula y garantizar que las columnas sean divisibles por 12 su ancho
máximo.
o Los puntos de corte de la cuadrícula y los anchos de contenedor ahora se
manejan a través de mapas Sass ( $grid-breakpoints y $container-max-
widths) en lugar de un puñado de variables separadas. Estos reemplazan
las @screen-*variables por completo y le permiten personalizar
completamente los niveles de la cuadrícula.
o Las consultas de medios también han cambiado. En lugar de repetir
nuestras declaraciones de consulta de medios con el mismo valor cada vez,
ahora tenemos @include media-breakpoint-up/down/only . Ahora, en
lugar de escribir @media (min-width: @screen-sm-min) {...} , puedes
escribir @include media-breakpoint-up(sm) {...} .
Componentes
Paneles caídos, miniaturas y pozos para un nuevo componente que lo abarca
todo, tarjetas .
Soltó la fuente del icono Glyphicons. Si necesita iconos, algunas opciones son:
o la versión aguas arriba de Glyphicons
o Octicones
o Font Awesome
o Consulte la página Extender para obtener una lista de alternativas. ¿Tienes
sugerencias adicionales? Abra un problema o PR.
Soltó el plugin Affix jQuery.
o Recomendamos usar en su lugar position: sticky. Consulte la entrada
HTML5 por favor para obtener detalles y recomendaciones específicas de
polyfill. Una sugerencia es usar una @supportsregla para implementarlo
(por ejemplo, @supports (position: sticky) { ... })
o Si estaba utilizando Affix para aplicar position estilos adicionales, los
polyfills podrían no ser compatibles con su caso de uso. Una opción para
tales usos es la biblioteca de ScrollPos-Styler de terceros .
Soltó el componente de buscapersonas, ya que era esencialmente botones
ligeramente personalizados.
Se refactorizaron casi todos los componentes para usar más selectores de clase
no anidados en lugar de selectores secundarios sobre específicos.
Por componente
Esta lista destaca los cambios clave por componente entre v3.xx y v4.0.0.
Reiniciar
Nuevo en Bootstrap 4 es el reinicio , una nueva hoja de estilo que se basa en Normalizar
con nuestros propios estilos de reinicio algo obstinados. Los selectores que aparecen en
este archivo solo usan elementos; aquí no hay clases. Esto aísla nuestros estilos de reinicio
de nuestros estilos de componentes para un enfoque más modular. Algunos de los más
importantes se destacan box-sizing: border-box, pasando de em a rem unidades de
muchos elementos, estilos de enlaces, y muchos se restablece la forma de los elementos.
Tipografía
Imágenes
Renombrado .img-responsive a .img-fluid.
Renombrado .img-rounded a .rounded
Renombrado .img-circle a .rounded-circle
Tablas
Casi todas las instancias del > selector se han eliminado, lo que significa que las
tablas anidadas heredarán automáticamente los estilos de sus padres. Esto
simplifica enormemente nuestros selectores y personalizaciones potenciales.
Renombrado .table-condensed a la consistencia .table-sm.
Se agregó una nueva opción .table-inverse.
Modificadores de encabezado de tabla agregados: .thead-default y .thead-
inverse.
Renombradas las clases contextuales para tener un .table-*. Por lo
tanto .active, .success, .warning, .danger e .info a .table-active, .table-
success, .table-warning, .table-danger y .table-info.
Formas
Botones
Renombrado .btn-default a .btn-secondary.
Se eliminó la clase .btn-xs por completo, ya que .btn-sm es proporcionalmente
mucho más pequeña que la de v3.
La función de botón con estado del button.js complemento jQuery se ha
eliminado. Esto incluye los métodos $().button(string) y $
().button('reset'). En su lugar, recomendamos utilizar un poco de JavaScript
personalizado, que tendrá el beneficio de comportarse exactamente como usted lo
desea.
o Tenga en cuenta que las otras características del complemento (casillas de
verificación de botones, radios de botones, botones de alternancia única) se
han conservado en v4.
Cambiar botones [disabled] a :disabled como IE9 + admite :disabled. Sin
embargo, fieldset[disabled] todavía es necesario porque los conjuntos de
campos deshabilitados nativos todavía tienen errores en IE11 .
Grupo de botones
Sistema de red
Lista de grupos
Modal
Navs
Barra de navegación
La barra de navegación se ha reescrito por completo en flexbox con compatibilidad
mejorada para alineación, capacidad de respuesta y personalización .
Paginación
Migas de pan
Etiquetas e insignias
Paneles
Carrusel
Mesas
Se eliminó el soporte para tablas anidadas con estilo. Todos los estilos de tabla
ahora se heredan en v4 para selectores más simples.
Variante de tabla inversa añadida.
Utilidades
Documentación
Nuestra documentación también recibió una actualización general. Aquí está el
punto bajo:
Utilidades receptivas
Todas las @screen-variables se han eliminado en v4.0.0. Utilice el media-breakpoint-
up(), media-breakpoint-down(), o media-breakpoint-only()mixins Sass o el $grid-
breakpointsSass mapa en su lugar.
Elemento contenedor
El sistema de rejilla tiene que ser utilizado dentro de uno de los dos elementos
contenedores que provee Bootstrap: .container ó .container-fluid. Es importante tener
en cuenta que estos elementos se utilizan como raíz de la rejilla y no se podrán anidar
unos dentro de otros.
Si lo que queremos es que el contenido de nuestra web aparezca centrado y con un ancho
fijo entonces podemos utilizar la etiqueta .container, de la forma:
<div class="container">
<!-- Content here -->
</div>
Por el contrario, si queremos que el contenido de nuestra web pueda ocupar todo el ancho
disponible (hay que tener en mente todos los tamaños de pantalla, incluso las muy
grandes), podemos usar la etiqueta .container-fluid:
<div class="container-fluid">
...
</div>
Bootstrap está diseñado pensando en los dispositivos móviles primero (o como ellos
indican: siguiendo la estrategia mobile first). Por lo tanto, todos los tamaños y dimensiones
están pensadas para los dispositivos móviles, y para tamaños más grandes lo que hacen es
adaptar o escalar estos tamaños.
Si nos fijamos en la tabla anterior podremos ver que para el tamaño extra pequeño el
prefijo de la clase que se define es ".col-*" (a diferencia de los demás que añaden un
sufijo para el tamaño de pantalla). Cuando indiquemos el tamaño de las columnas usando
esta clase se aplicará para todos los tamaños, a no ser, como ya hemos dicho, que se
indique otra clase para otro tamaño mayor que defina otra disposición.
Nota: Se ha añadido código css para poder visualizar los anchos que se asignan a cada columna,
puesto que a los contenedores .div en Bootstrap no se les asigna color.
Dado que las columnas se han especificado únicamente mediante las clases .col-md-* esto
creará estas divisiones solo para las pantallas medianas y grandes, pero no para los tamaños de
pantalla más pequeños. En este último caso las columnas se ampliarán para ocupar todo el ancho
y por lo tanto se mostrarán apiladas de la forma:
Si no queremos que las columnas se muestren apiladas para tamaños de pantalla pequeños
podemos indicar también la disposición para esos casos mediante las clases .col-* además de
las que ya teníamos con .col-md-* . Por ejemplo:
<!-- En pantallas pequeñas aparecerá una columna que ocupará todo el ancho
y otra que ocupará la mitad de la pantalla -->
<div class="row">
<div class="col-12 col-md-8">.col-12 .col-md-8</div>
<div class="col-6 col-md-4">.col-6 .col-md-4</div>
</div>
En la siguiente imagen se puede ver cómo quedaría el código de ejemplo para pantallas medianas
y grandes (tamaños de md en adelante):
<div class="row">
<div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
<div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
<div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
</div>
El mismo código, pero en pantallas tipo small (tamaño sm) se mostraría como:
Además de los tres tamaños indicados en este último ejemplo para la primera columna (
.col-12 .col-sm-6 .col-md-8 ) podríamos añadir también, si lo necesitamos, el tamaño para
pantallas grandes y extra grandes con col-lg y col-xl-. Por ejemplo, podríamos haber
definido la siguiente columna:
<div class="col-12 col-sm-6 col-md-8 col-lg-9 col-xl-10">...</div>
En resumen, podemos indicar para cada columna todos los tamaños que queramos de
entre los disponibles (con .col-, .col-sm-, .col-md-, .col-lg- y .col-xl-). Sin
embargo, esto solo lo tendremos que hacer cuando necesitemos establecer un ancho de
columna distinto para cada tamaño de pantalla. Si para todos los tamaños de pantalla
necesitamos el mismo ancho entonces utilizaremos solamente la clase .col-*. Es decir, no
tendría sentido escribir algo como " col-6 col-sm-6 col-md-6 col-lg-6 col-xl-* ", ya
que se conseguiría el mismo efecto que si hubiéramos puesto solamente "col-6".
Por lo tanto, solo añadiremos más de una clase cuando necesitemos establecer anchos
distintos entre esos tamaños, y además si solo vamos a diferenciar entre 2 tamaños solo
será necesario usar 2 etiquetas. Por ejemplo si queremos diferenciar solamente entre móvil
y escritorio solamente tendríamos que añadir la clase .col-* y la clase .col-md-*.
El número de columnas del ejemplo anterior se mantendrá para todos los tamaños de
pantalla, adaptando el ancho de las columnas para cada uno de ellos.
A esta clase podemos añadir el sufijo para establecer el tamaño de pantalla, por lo que
disponemos de las clases .col, .col-sm, .col-md, .col-lg, .col-xl . En todos los casos
estaremos indicando que queremos una columna de ancho automático desde el tamaño
de pantalla indicado en adelante. Debemos de tener en cuenta que si indicamos algo
como <div class="col col-sm col-md"><div class="col col-sm col-md"> el resultado que
obtendríamos sería el mismo en todos los tamaños, una columna de ancho automático,
equivalente a haber indicado únicamente <div class="col">...</div>. Por lo tanto, el
uso de estos sufijos solo se justificará cuando queramos una columna de ancho
automático solamente de un tamaño en adelante, y que, por lo tanto, para los tamaños
inferiores se cree una columna que ocupe todo el ancho. Por ejemplo, veamos el siguiente
código:
<div class="row">
<div class="col-sm">col-sm</div>
<div class="col-sm">col-sm</div>
<div class="col-sm">col-sm</div>
</div>
Estamos indicando que queremos una fila con tres columnas de ancho automático para los
tamaños desde sm en adelante, y, por lo tanto, para el tamaño extra pequeño estas tres
columnas pasarán a ocupar todo el ancho, transformándose en tres filas completas.
Modo mixto
Estas columnas de ancho automático se pueden mezclar en una misma fila con las
columnas de ancho específico que hemos visto antes. La forma de calcular el ancho de
cada columna será el siguiente: En primer lugar, se calculará el tamaño de las columnas de
ancho específico y a continuación se rellenará el espacio restante usando las columnas de
ancho automático. Por ejemplo, a continuación, vamos a definir dos filas mezclando ambos
tipos de columnas:
<div class="container">
<div class="row">
<div class="col">1 of 3</div>
<div class="col-6">2 of 3 (wider)</div>
<div class="col">3 of 3</div>
</div>
<div class="row">
<div class="col-5">1 of 3 (wider)</div>
<div class="col">2 of 3</div>
<div class="col">3 of 3</div>
</div>
</div>
Con lo que obtendríamos un resultado similar al de la siguiente figura:
Como podemos ver en este ejemplo, los sistemas para de definir las columnas se pueden
mezclar como queramos, por ejemplo, usando el de ancho fijo entre dos columnas de
ancho automático, o estableciendo una columna de ancho específico al principio y
después dos de ancho automático.
Estas etiquetas, igual que las de ancho automático, se pueden mezclar con las de ancho
específico, por ejemplo:
<div class="container">
<div class="row justify-content-md-center">
<div class="col col-lg-2">1 of 3</div>
<div class="col-md-auto">Variable width content</div>
<div class="col col-lg-2">3 of 3</div>
</div>
<div class="row">
<div class="col">1 of 3</div>
<div class="col-md-auto">Variable width content</div>
<div class="col col-lg-2">3 of 3</div>
</div>
</div>
<!-- Force next columns to break to new line at md breakpoint and up -->
<div class="w-100 d-none d-md-block"></div>
En la sección "Utilidades Responsive" se explicarán las etiquetas " .d-*" que nos permitirán
controlar la visibilidad de cualquier elemento HTML en función del tamaño de pantalla.
Anidamiento de columnas
Una característica muy potente del sistema de rejilla es que se pueden anidar columnas
dentro de otras columnas. Para esto solamente tenemos que crear una nueva fila dentro
de una columna, y dentro de esta nueva fila podremos subdividirla usando también hasta
12 columnas.
Por ejemplo, en el siguiente código se crea una primera fila con una columna de tamaño 9,
dentro de la cual se añade una segunda fila con dos columnas:
<div class="row">
<div class="col-sm-9">
Level 1: .col-sm-9
<div class="row">
<div class="col-8 col-sm-6">Level 2: .col-8 .col-sm-6</div>
<div class="col-4 col-sm-6">Level 2: .col-4 .col-sm-6</div>
</div>
</div>
</div>
Al visualizar este código obtendríamos:
Como se puede ver en el ejemplo anterior, también podemos especificar el offset según el
tamaño de pantalla. Si usamos, por ejemplo, la clase " offset-4 " estaremos indicando que
se cree un espacio de 4 para todos los tamaños de pantalla; mientras que con " offset-
md- 4 " se creará este espacio a partir del tamaño de pantalla " md" en adelante. Si en
algún caso necesitamos eliminar el offset podemos utilizar el tamaño cero (0). Por ejemplo,
si especificamos un offset de 2 para tamaños pequeños y no queremos que dicho offset se
aplique para pantallas medianas ni grandes tendríamos que hacer:
<div class="col-sm-5 offset-sm-2 col-md-7 offset-md-0">...</div>
Márgenes
Además de la clase offset también disponemos de las clases para crear márgenes de
espacio variable tanto al lado izquierdo (con " .ml-auto ") como al lado derecho (con .mr-
auto ) de una columna. A continuación, se incluye un ejemplo:
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4 ml-auto">.col-md-4 .ml-auto</div>
</div>
<div class="row">
<div class="col-md-3 ml-md-auto">.col-md-3 .ml-md-auto</div>
<div class="col-md-3 ml-md-auto">.col-md-3 .ml-md-auto</div>
</div>
<div class="row">
<div class="col-auto mr-auto">.col-auto .mr-auto</div>
<div class="col-auto">.col-auto</div>
</div>
Con lo que obtendríamos el siguiente resultado:
Como se puede ver, en la primera fila se crea un margen automático por la izquierda (y
para todos los tamaños) de la segunda columna, lo que provoca el desplazamiento de esta
hasta alinearla a la derecha. En la segunda fila se añade margen por la izquierda a las dos
columnas para tamaños de pantalla de " md" en adelante. Y en la última fila se crea un
margen automático por la derecha de la primera columna (para todos los tamaños), esto
provoca un efecto similar al obtenido en la primera fila.
Ordenación de columnas
También podemos modificar el orden visual de las columnas mediante la clase .order-*.
Esta clase permite indicar la posición a la cual queremos desplazar la columna (del 1 al 12,
por ejemplo: .order-1 , .order-2 , etc.). También podemos especificar el tamaño de
pantalla para el que queremos que se aplique (por ejemplo: .order-md-12 ). A
continuación, se incluye un ejemplo:
<div class="container">
<div class="row">
<div class="col">First, but unordered</div>
<div class="col order-12">Second, but last</div>
<div class="col order-1">Third, but first</div> <!-- ¡¡Este debe tener color
violeta!! -->
</div>
</div>
</div>
Obteniendo como resultado:
Por lo tanto, para que funcione correctamente el ejemplo anterior tendríamos que escribir
el siguiente código:
<div class="container">
<div class="row">
<div class="col order-2">First, but unordered</div> <!-- Añadimos el orden de
esta columna -->
<div class="col order-12">Second, but last</div>
<div class="col order-1">Third, but first</div>
</div>
</div>
Obteniendo ahora sí el resultado esperado:
Como se puede ver también en este ejemplo, no es necesario que los números de columna
para la ordenación sean consecutivos, simplemente se ordenarán de mayor a menor. Hay
que tener cuidado con estas clases si hay un salto de línea dentro de una misma fila
(debido a que el número de columnas ocupe más de 12), ya que en estos casos los
órdenes no funcionarán correctamente.
También disponemos de la clase " .order-first ", la cual nos permitirá situar cualquier
elemento en primer lugar. Además, esta clase sí que funciona, aunque haya un salto de
línea.
Alineación
Con la nueva versión de Bootstrap también han aparecido nuevas clases que nos permiten
especificar la alineación de las columnas tanto en horizontal como en vertical.
Alineación vertical
Para indicar la alineación en vertical tenemos dos opciones: indicar la misma alineación
para todos los elementos de una fila o indicar la alineación a nivel de columna, lo que nos
permitirá establecer distintas alineaciones para cada columna.
En el primer caso la clase CSS para la alineación la tendremos que añadir a la fila usando la
etiqueta " .align-items-* ", donde "*" podrá ser " start " (al principio o pegada a la
parte superior de la fila), " center " (alineación centrada en vertical) o " end " (alineación
pegada al final o a la parte inferior de la fila). A continuación, se incluye un ejemplo de los
tres tipos de alineación:
<div class="container">
<div class="row align-items-start">
<div class="col">One of three columns</div>
<div class="col">One of three columns</div>
<div class="col">One of three columns</div>
</div>
<div class="row align-items-center">
<div class="col">One of three columns</div>
<div class="col">One of three columns</div>
<div class="col">One of three columns</div>
</div>
<div class="row align-items-end">
<div class="col">One of three columns</div>
<div class="col">One of three columns</div>
<div class="col">One of three columns</div>
</div>
</div>
Con lo que obtendríamos un resultado como el de la siguiente figura:
En el segundo caso, si queremos indicar por separado la alineación vertical de cada una de
las columnas de una fila, tendremos que usar la clase CSS .align-self-* , donde "*"
podrá adoptar los mismos valores: start , center o end . A continuación, se incluye un
ejemplo en el que se indican los tres tipos de alineaciones dentro de una misma fila:
<div class="container">
<div class="row">
<div class="col align-self-start">One of three columns</div>
<div class="col align-self-center">One of three columns</div>
<div class="col align-self-end">One of three columns</div>
</div>
</div>
Con lo que obtendremos el siguiente resultado:
Alineación horizontal
También podemos especificar la alineación horizontal de los elementos de una fila. Para
esto disponemos de la clase " .justify-content-* ", donde "*" podrá ser " start "
(izquierda), " center " (centrado), " end " (derecha), " around " (añadirá el mismo espacio a
ambos lados de la columna) y " between " (añade espacio entre las columnas). A
continuación, se incluye un ejemplo de cada uno de estos tipos de alineación horizontal:
<div class="container">
<div class="row justify-content-start">
<div class="col-4">One of two columns</div>
<div class="col-4">One of two columns</div>
</div>
<div class="row justify-content-center">
<div class="col-4">One of two columns</div>
<div class="col-4">One of two columns</div>
</div>
<div class="row justify-content-end">
<div class="col-4">One of two columns</div>
<div class="col-4">One of two columns</div>
</div>
<div class="row justify-content-around">
<div class="col-4">One of two columns</div>
<div class="col-4">One of two columns</div>
</div>
<div class="row justify-content-between">
<div class="col-4">One of two columns</div>
<div class="col-4">One of two columns</div>
</div>
</div>
Con lo que obtendríamos un resultado similar al de la siguiente figura, con la fila alineada
a la izquierda, la segunda centrada, la tercera alineada a la derecha, la cuarta con el
espaciado "al rededor" (o a ambos lados) de las columnas, y la última con el espaciado
entre las columnas.
Alineación responsive
En caso de que lo necesitemos podremos añadir también el tamaño de pantalla a las
distintas clases de alineación que hemos visto: align-items-* , align-self-* y
justify-content-* . Para esto tendremos que añadir primero el tamaño de pantalla ( sm,
md, lg o xl), a continuación un guión (-), y después el tipo de alineación deseado (de entre
los que hemos visto), por ejemplo: align-items-md-center , align-self-sm-end ,
justify-content-lg-end , etc.
</div>
El resultado es el siguiente:
Cambie el color del borde utilizando las utilidades creadas en los colores de tema que
provee Bootstrap 4.
<span class="border border-primary"></span>
<span class="border border-secondary"></span>
<span class="border border-success"></span>
<span class="border border-danger"></span>
<span class="border border-warning"></span>
<span class="border border-info"></span>
<span class="border border-light"></span>
<span class="border border-dark"></span>
<span class="border border-white"></span>
El resultado es el siguiente:
Radio de borde
Agregue clases a un elemento para redondear fácilmente sus esquinas.
<img src="..." alt="..." class="rounded">
<img src="..." alt="..." class="rounded-top">
<img src="..." alt="..." class="rounded-right">
<img src="..." alt="..." class="rounded-bottom">
<img src="..." alt="..." class="rounded-left">
<img src="..." alt="..." class="rounded-circle">
<img src="..." alt="..." class="rounded-pill">
<img src="..." alt="..." class="rounded-0">
Tamaños
Se .rounded-lg o .rounded-sm para un radio de borde mayor o menor.
<img src="..." alt="..." class="rounded-sm">
<img src="..." alt="..." class="rounded-lg">
Clearfix
Borre rápida y fácilmente el contenido flotante dentro de un contenedor agregando una
utilidad .clearfix.
El resultado es el siguiente:
Icono de cierre
Use un ícono de cierre genérico para descartar contenido como modales y alertas.
<button type="button" class="close" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
El resultado en el navegador:
Colores
Transmita significado a través del color con un puñado de clases de utilidad de color.
También incluye soporte para enlaces de estilo con estados de desplazamiento.
<p class="text-primary">.text-primary</p>
<p class="text-secondary">.text-secondary</p>
<p class="text-success">.text-success</p>
<p class="text-danger">.text-danger</p>
<p class="text-warning">.text-warning</p>
<p class="text-info">.text-info</p>
<p class="text-light bg-dark">.text-light</p>
<p class="text-dark">.text-dark</p>
<p class="text-body">.text-body</p>
<p class="text-muted">.text-muted</p>
<p class="text-white bg-dark">.text-white</p>
<p class="text-black-50">.text-black-50</p>
<p class="text-white-50 bg-dark">.text-white-50</p>
Resultados en el navegador:
Color de fondo
A continuación, podemos ver un ejemplo del efecto obtenido al aplicar las distintas
etiquetas de las que disponemos para mostrar elementos:
<div class="d-inline p-2 bg-primary text-white">d-inline</div>
<div class="d-inline p-2 bg-dark text-white">d-inline</div>
<span class="d-block p-2 bg-primary text-white">d-block</span>
<span class="d-block p-2 bg-dark text-white">d-block</span>
La diferencia entre las etiquetas " d-inline" y " d-inline-block " es el comportamiento
de bloque que adopta el elemento, el cual respetará todos los márgenes y algunas que le
indiquemos.
Al aplicar estas etiquetas sobre un elemento lo mostraremos u ocultaremos para todos los
tamaños, sin embargo, si queremos podemos añadirles modificadores para indicar el
tamaño a partir del cual queremos que se muestren u oculten. En este último caso
tendremos que añadir el tamaño de pantalla entre el prefijo " d- " y el sufijo none , inline ,
block o inline-block , es decir, siguiendo el patrón " d-*-* ". Por ejemplo, podremos
indicar d-sm-none para que se oculte a partir del tamaño pequeño de pantalla, d-xl-none
para que se oculte para las pantallas extra granes, o d-md-block para que se muestre en
forma de bloque a partir del tamaño md.
Es importante que nos fijemos que estas utilidades responsive se aplicarán a partir del
tamaño indicado en adelante, sin embargo, ¿cómo podríamos hacer para que solamente
se oculte o se muestre para un tamaño de pantalla? Para esto podemos combinar varias
clases, por ejemplo, para que solo se oculte para el tamaño extra pequeño tendríamos que
poner " d-none d-sm-block ", o para que solo se muestre para el tamaño pequeño
usaríamos " d-none d-sm-block d-md-none ".
A continuación, se incluye una tabla resumen de las etiquetas que tendríamos que aplicar
para mostrar u ocultar solamente para un tamaño de pantalla:
Embebidos
Cree incrustaciones de video o presentación de diapositivas receptivas basadas en el ancho
del padre creando una relación intrínseca que se escala en cualquier dispositivo.
Ejemplo:
Relaciones de aspecto
Las relaciones de aspecto se pueden personalizar con clases modificadoras. Por defecto, se
proporcionan las siguientes clases de relación:
<div class="row">
<div class="col-3">
<!-- 21:9 aspect ratio -->
<span>Ratio 21:9</span>
<div class="embed-responsive embed-responsive-21by9">
<iframe class="embed-responsive-item"
src="https://www.youtube.com/embed/nLnp0tpZ0ok"></iframe>
</div>
</div>
<div class="col-3">
<!-- ratio 16:9 -->
<span>Ratio 16:9</span>
<div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item"
src="https://www.youtube.com/embed/nLnp0tpZ0ok"></iframe>
</div>
</div>
</div>
<div class="row">
<div class="col-3">
<!-- ratio 4:3 -->
<span>Ratio 4:3</span>
<div class="embed-responsive embed-responsive-4by3">
<iframe class="embed-responsive-item"
src="https://www.youtube.com/embed/nLnp0tpZ0ok"></iframe>
</div>
</div>
<div class="col-3">
<!-- 1:1 aspect ratio -->
<span>Ratio 1:1</span>
<div class="embed-responsive embed-responsive-1by1">
<iframe class="embed-responsive-item"
src="https://www.youtube.com/embed/nLnp0tpZ0ok"></iframe>
</div>
</div>
</div>
Resultado
Flexionar
Administre rápidamente el diseño, la alineación y el tamaño de las columnas de la rejilla, la
navegación, los componentes y más con un conjunto completo de utilidades flexibles de
respuesta. Para implementaciones más complejas, puede ser necesario un CSS
personalizado.
Resultado:
.d-flex .d-md-inline-flex
.d-inline-flex .d-lg-flex
.d-sm-flex .d-lg-inline-flex
.d-sm-inline-flex .d-xl-flex
.d-md-flex .d-xl-inline-flex
Dirección
En la mayoría de los casos, puede omitir la clase horizontal, ya que el valor predeterminado
del navegador es row. Sin embargo, puede encontrar situaciones en las que necesita
establecer explícitamente este valor (como diseños receptivos).
<div class="d-flex flex-row bd-highlight mb-3">
<div class="p-2 bd-highlight">Flex item 1</div>
<div class="p-2 bd-highlight">Flex item 2</div>
<div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-row-reverse bd-highlight">
<div class="p-2 bd-highlight">Flex item 1</div>
<div class="p-2 bd-highlight">Flex item 2</div>
<div class="p-2 bd-highlight">Flex item 3</div>
</div>
Resultado:
Resultado:
También existen variaciones receptivas para flex-direction:
.flex-row .flex-md-column
.flex-row-reverse .flex-md-column-reverse
.flex-column .flex-lg-row
.flex-column-reverse .flex-lg-row-reverse
.flex-sm-row .flex-lg-column
.flex-sm-row-reverse .flex-lg-column-reverse
.flex-sm-column .flex-xl-row
.flex-sm-column-reverse .flex-xl-row-reverse
.flex-md-row .flex-xl-column
.flex-md-row-reverse .flex-xl-column-reverse
Flotador
Alternar flotar en cualquier elemento, a través de cualquier punto de interrupción,
utilizando las utilidades de flotación receptiva.
Clases
<div class="row">
<div class="col-8">
<div class="float-left">Float left on all viewport sizes</div><br>
<div class="float-right">Float right on all viewport sizes</div><br>
<div class="float-none">Don't float on all viewport sizes</div>
<div class="row">
</div>
</div>
Resultado:
.float-left .float-md-none
.float-right .float-lg-left
.float-none .float-lg-right
.float-sm-left .float-lg-none
.float-sm-right .float-xl-left
.float-sm-none .float-xl-right
.float-md-left .float-xl-none
.float-md-right
Interacciones
Clases de utilidad que cambian la forma en que los usuarios interactúan con los
contenidos de un sitio web.
La clase .user-select-all selecciona por completo todo el texto dentro del contenedor
cuando el usuario da click sobre él.
Desbordamiento
Use estas utilidades abreviadas para configurar rápidamente cómo el contenido desborda
un elemento.
Ejemplo:
<a class="sr-only sr-only-focusable" href="#content">Este texto aparecerá
solamente en los lectores de pantalla</a>
Sombreado
Agregue o elimine sombras a elementos con utilidades de sombra de cuadro
Resultados:
Dimensionamiento
Haga fácilmente un elemento tan ancho o tan alto con las utilidades de ancho y alto.
El resultado es el siguiente:
Resultados:
También puede usar las utilidades max-width: 100% y max-height: 100% según sea
necesario.
<div style="height: 100px; background-color: rgba(255,0,0,0.1);">
<div class="mh-100" style="width: 100px; height: 200px; background-color:
rgba(0,0,255,0.1);">Ancho máximo 100%</div>
</div>
Espaciado
Bootstrap incluye una amplia gama de márgenes de respuesta abreviada y clases
de utilidad de relleno para modificar la apariencia de un elemento.
Centrado horizontal
Ejemplo:
Resultado:
Margen negativo
La sintaxis es casi la misma que las utilidades predeterminadas de margen positivo, pero
con la adición de n antes del tamaño solicitado. Aquí hay una clase de ejemplo que es lo
opuesto a .mt-1:
<div class="row mx-md-n5">
<div class="col px-md-5"><div class="p-3 border bg-light">Custom column
padding</div></div>
<div class="col px-md-5"><div class="p-3 border bg-light">Custom column
padding</div></div>
</div>
Resultado:
Texto
Realinee fácilmente el texto a componentes con clases de alineación de texto.
<p class="text-justify">Ambitioni dedisse scripsisse iudicaretur. Cras mattis iudicium
purus sit amet fermentum.
Donec sed odio operae, eu vulputate felis rhoncus. Praeterea iter est quasdam res
quas ex communi. At nos hinc posthac, sitientis piros Afros.
Petierunt uti sibi concilium totius Galliae in diem certam indicere. Cras mattis
iudicium purus sit amet fermentum.</p>
Por ejemplo:
<p class="text-left">Texto alineado a la izquierda en todos los tamaños de ventana
gráfica.</p>
<p class="text-center">Texto alineado al centro en todos los tamaños de ventana
gráfica.</p>
<p class="text-right">Texto alineado a la derecha en todos los tamaños de ventana
gráfica.</p>
<hr>
<p class="text-sm-left">Texto alineado a la izquierda en las vistas de tamaño SM
(pequeño) o más ancho.</p>
<p class="text-md-left">Texto alineado a la izquierda en viewports tamaño MD (medio) o
más ancho.</p>
<p class="text-lg-left">Texto alineado a la izquierda en las ventanas gráficas de tamaño
LG (grande) o más ancho.</p>
<p class="text-xl-left">Texto alineado a la izquierda en las ventanas gráficas tamaño XL
(extragrande) o más ancho.</p>
Resultado:
Ajuste de texto y desbordamiento
Por ejempo:
<div class="badge badge-primary text-wrap" style="width: 6rem;">
Este texto debe ser envuelto
</div>
Resultado:
Para contenido más largo, puede agregar una .text-truncate clase para truncar el texto
con puntos suspensivos. Requiere display: inline-block o display: block.
<!-- Block level -->
<div class="row">
<div class="col-2 text-truncate">
Praeterea iter est quasdam res quas ex communi.
</div>
</div>
<!-- Inline level -->
<span class="d-inline-block text-truncate" style="max-width: 150px;">
Praeterea iter est quasdam res quas ex communi.
</span>
Salto de palabra
Resultado:
Transformación de texto
Transformar texto en componentes con clases de capitalización de texto. Por ejemplo:
<p class="text-lowercase">TEXTO EN MINúSCULAS</p>
<p class="text-uppercase">texto en mayúsculas</p>
<p class="text-capitalize">texto con letra capital</p>
Resultado:
Resultado:
Monoespacio
Cambie una selección a nuestra pila de fuentes monoespaciales con .text-
monospace.
Restablecer color
<p class="text-muted">
Texto silenciado con un <a href="#" class="text-reset">enlace de reinicio</a>.
</p>
Resultados:
Decoración de texto
Resultado:
Alineamiento vertical
Cambie fácilmente la alineación vertical de los elementos en línea, bloque en línea,
tabla en línea y celda de tabla.
Resultado:
Resultado:
Visibilidad
Controle la visibilidad, sin modificar la visualización, de elementos con utilidades de
visibilidad.
<div class="visible">
<div class="jumbotron text-center">
<h1>Texto visible</h1>
</div>
</div>
<div class="invisible">
<div class="jumbotron text-center">
<h1>Texto no sera visible en el navegador</h1>
</div>
</div>
Resultados:
Componentes
Alertas
Las alertas están disponibles para cualquier longitud de texto, así como un botón opcional
para descartar. Para un estilo adecuado, use una de las ocho clases
contextuales requeridas (por ejemplo: .alert-success). Para el despido en línea, use
el complemento jQuery de alertas.
<div class="alert alert-primary" role="alert">
Alerta Primaria
</div>
<div class="alert alert-secondary" role="alert">
Alerta Secundaria
</div>
<div class="alert alert-success" role="alert">
Alerta Exito
</div>
<div class="alert alert-danger" role="alert">
Alerta de Peligro
</div>
<div class="alert alert-warning" role="alert">
Alerta de Advertencia
</div>
<div class="alert alert-info" role="alert">
Alerta de Informacion
</div>
<div class="alert alert-light" role="alert">
Alerta de luz
</div>
<div class="alert alert-dark" role="alert">
Alerta oscura
</div>
Resultado:
Transmitir significado a las tecnologías de asistencia
El uso del color para agregar significado solo proporciona una indicación visual, que no se
transmitirá a los usuarios de tecnologías de asistencia, como los lectores de
pantalla. Asegúrese de que la información denotada por el color sea obvia del contenido
en sí (por ejemplo, el texto visible) o se incluya a través de medios alternativos, como texto
adicional oculto con la clase .sr-only.
Color de enlace
Por ejemplo:
El resultado es el siguiente:
Despido de una alerta
Con el complemento JavaScript de alerta, es posible descartar cualquier alerta en
línea. Así es cómo:
Asegúrese de haber cargado el complemento de alerta o el JavaScript Bootstrap
compilado.
Si está construyendo nuestro JavaScript desde la fuente, lo requiereutil.js . La
versión compilada incluye esto.
Agregue un botón de descarte y la .alert-dismissible clase, que agrega relleno
adicional a la derecha de la alerta y coloca el .close botón.
En el botón de descartar, agregue el data-dismiss="alert" atributo, que activa la
funcionalidad de JavaScript. Asegúrese de usar el <button>elemento con él para un
comportamiento adecuado en todos los dispositivos.
Para animar las alertas al descartarlas, asegúrese de agregar las clases .fade
y .show.
Por ejemplo:
Resultado:
Insignias
Documentación y ejemplos de insignias, un pequeño conteo y componente de etiquetado.
Las insignias se escalan para coincidir con el tamaño del elemento primario inmediato
mediante el uso de tamaños y em unidades de fuente relativos.
Por ejemplo:
Resultado:
Las
insignias se pueden usar como parte de enlaces o botones para proporcionar un contador.
Variaciones contextuales
Agregue cualquiera de las clases de modificador mencionadas a continuación para
cambiar la apariencia de una insignia.
Por ejemplo:
<span class="badge badge-primary">Primaria</span>
<span class="badge badge-secondary">Secundaria</span>
<span class="badge badge-success">Exitoso</span>
<span class="badge badge-danger">Peligro</span>
<span class="badge badge-warning">Advertencia</span>
<span class="badge badge-info">Informacion</span>
<span class="badge badge-light">Light</span>
<span class="badge badge-dark">Oscuro</span>
Resultado:
Insignias de pastillas
Use la clase modificadora .badge-pill para hacer que las insignias sean más
redondeadas (con un border-radius horizontal más grande y padding adicional ). Útil si
te pierdes las insignias de v3.
Ejemplo:
Resultado:
Enlaces
El uso de las clases contextuales .badge-* en un elemento <a> proporciona
rápidamente insignias accionables con estados de desplazamiento y enfoque. Por ejemplo:
Resultado:
Migas de pan
Indique la ubicación de la página actual dentro de una jerarquía de navegación que agrega
separadores automáticamente mediante CSS.
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Inicio</a></li>
<li class="breadcrumb-item active" aria-current="page">Biblioteca</li>
</ol>
</nav>
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Inicio</a></li>
<li class="breadcrumb-item"><a href="#">Biblioteca</a></li>
<li class="breadcrumb-item active" aria-current="page">Datos</li>
</ol>
</nav>
Resultado:
Dado que las migas de pan proporcionan una navegación, es una buena idea agregar una
etiqueta significativa como aria-label="breadcrumb" para describir el tipo de
navegación proporcionada en el elemento <nav>, así como aplicar un aria-
current="page" al último elemento del conjunto para indicar que representa la página
actual.
Botones
Bootstrap incluye varios estilos de botones predefinidos, cada uno con su propio propósito
semántico, con algunos extras para mayor control.
Mediante la clase .btn podemos aplicar estilo a los elementos tipo button . Esta clase la
podemos combinar con .btn-primary , .btn-secondary , .btn-success , .btn-danger,
.btn-warning , .btn-info , .btn-light , .btn-dark o .btn-link para crear
botones para diferentes estados o acciones en nuestros formularios:
<button type="button" class="btn btn-primary">Primario</button>
<button type="button" class="btn btn-secondary">Secundario</button>
<button type="button" class="btn btn-success">Exitoso</button>
<button type="button" class="btn btn-danger">Peligro</button>
<button type="button" class="btn btn-warning">Advertencia</button>
<button type="button" class="btn btn-info">Información</button>
<button type="button" class="btn btn-light">Light</button>
<button type="button" class="btn btn-dark">Oscuro</button>
<button type="button" class="btn btn-link">Link</button>
Resultado:
Etiquetas de botones
Las clases .btn están diseñadas para ser utilizadas con el elemento <button>. Sin
embargo, también puede usar estas clases en elementos <a> o <input> (aunque algunos
navegadores pueden aplicar una representación ligeramente diferente).
Cuando se utilizan clases de botones en <a> elementos que se utilizan para activar la
funcionalidad en la página (como el colapso del contenido), en lugar de vincular a nuevas
páginas o secciones dentro de la página actual, estos enlaces se deben dar role="button"
para transmitir adecuadamente su propósito a las tecnologías de asistencia como lectores
de pantalla:
Resultado:
Tamaños
Agrega .btn-lg o .btn-sm para tamaños adicionales:
<button type="button" class="btn btn-primary btn-lg">Botón grande</button>
<button type="button" class="btn btn-secondary btn-sm">Botón pequeño</button>
Resultado:
La clase .active hace que un botón aparezca presionado, y el atributo disabled hace que
un botón no se pueda hacer clic. Tenga en cuenta que los elementos <a> no admiten el
atributo deshabilitado y, por lo tanto, deben usar la clase .disabled para que aparezca
visualmente desactivado.
<a href="#" class="btn btn-primary btn-lg active" role="button" aria-
pressed="true">Enlace Primario</a>
<button type="button" class="btn btn-lg btn-primary" disabled>Boton primario
deshabilitado</button>
Resultado:
Grupo de botones
Envuelve una serie de botones con .btn en .btn-group. Agregue un
comportamiento de estilo de casilla de verificación y radio JavaScript opcional
con nuestro complemento de botones. Por ejemplo:
Resultado:
Resultado:
Dimensionamiento
En lugar de aplicar clases de tamaño de botón a cada botón en un grupo, simplemente
agregue .btn-group-* a cada uno .btn-group, incluido cada uno al anidar varios grupos.
<div class="btn-group btn-group-lg" role="group" aria-label="...">
<button type="button" class="btn btn-primary">Izquierda</button>
<button type="button" class="btn btn-primary">Centro</button>
<button type="button" class="btn btn-primary">Derecha</button>
</div>
</br>
<div class="btn-group" role="group" aria-label="...">
<button type="button" class="btn btn-secondary">Izquierda</button>
<button type="button" class="btn btn-secondary">Centro</button>
<button type="button" class="btn btn-secondary">Derecha</button>
</div> </br>
<div class="btn-group btn-group-sm" role="group" aria-label="...">
<button type="button" class="btn btn-primary">Izquierda</button>
<button type="button" class="btn btn-primary">Centro</button>
<button type="button" class="btn btn-primary">Derecha</button>
</div> </br>
Resultado:
Anidamiento
Coloque un .btn-group dentro de otro .btn-group cuando desee menús desplegables
mezclados con una serie de botones.
<div class="btn-group" role="group" aria-label="Button group with nested dropdown">
<button type="button" class="btn btn-secondary">1</button>
<button type="button" class="btn btn-secondary">2</button>
Resultado:
Variación
vertical
Haga que un conjunto de botones aparezca apilado verticalmente en lugar de
horizontalmente con la clase btn-group-vertical (También puede agregarse botones
desplegables para que sean mostrados verticalmente). Los botones desplegables de
división no son compatibles aquí.
<div class="btn-group-vertical">
<button type="button" class="btn btn-secondary">Botón 1</button>
<button type="button" class="btn btn-secondary">Botón 2</button>
<button type="button" class="btn btn-secondary">Botón 3</button>
<button type="button" class="btn btn-secondary">Botón 4</button>
<button type="button" class="btn btn-secondary">Botón 5</button>
</div>
Resultado:
Tarjetas
Una tarjeta es un contenedor de contenido flexible y extensible. Incluye opciones para
encabezados y pies de página, una amplia variedad de contenido, colores de fondo
contextuales y potentes opciones de visualización. Si está familiarizado con Bootstrap 3, las
tarjetas reemplazan los viejos paneles, pozos y miniaturas. Funcionalidad similar a esos
componentes está disponible como clases modificadoras para tarjetas.
Las tarjetas están construidas con el menor marcado y estilo posible, pero aún así logran
mucho control y personalización. Construidos con flexbox, ofrecen una fácil alineación y se
mezclan bien con otros componentes Bootstrap. No tienen margin por defecto, así que
use las utilidades de espaciado según sea necesario.
Resultado:
Tipos de contenido
Las tarjetas admiten una amplia variedad de contenido, incluidas imágenes, texto, grupos
de listas, enlaces y más. A continuación, hay ejemplos de lo que se admite.
Cuerpo
El bloque de construcción de una tarjeta es el .card-body. Úselo siempre que
necesite una sección acolchada dentro de una tarjeta.
<div class="card">
<div class="card-body">
Este es un texto dentro del cuerpo de una tarjeta.
</div>
</div>
Resultado:
Resultado:
Imágenes
La clase .card-img-top coloca una imagen en la parte superior de la
tarjeta. Con .card-text, se puede agregar texto a la tarjeta. El texto dentro .card-
text también se puede diseñar con las etiquetas HTML estándar.
Ejemplo:
<div class="card" style="width: 18rem;">
<img src="..." class="card-img-top" alt="...">
<div class="card-body">
<p class="card-text">Lorem ipsum dolor sit amet, consectetur
adipisicing elit. Animi cum dignissimos et impedit nobis,
omnis.</p>
</div>
</div>
Resultado:
Lista de grupos
Cree listas de contenido en una tarjeta con un grupo de lista de descarga, para ello es
necesario crear una lista sin orden <ul> con clase .list-group y agregar dentro de la
misma los ítem que se requieran con la clase .list-group-item
<div class="card" style="width: 18rem;">
<div class="card-header">
Destacados
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item">Cras justo odio</li>
<li class="list-group-item">Dapibus ac facilisis in</li>
<li class="list-group-item">Vestibulum at eros</li>
</ul>
</div>
Resultado:
Encabezado y pie de
página
Agregue un encabezado y / o pie de página opcional dentro de una tarjeta. Para ello se
debe agregar un contenenedor div con la clase .card-header.
<div class="card">
<!--Este es une ejemplo de encabezado dentro de un Card-->
<div class="card-header">
Este es un encabezado
</div>
<div class="card-body">
<h5 class="card-title">Titulo</h5>
<p class="card-text">Este es un ejemplo de parrafo</p>
<a href="#" class="btn btn-primary">Enlace</a>
</div>
</div>
Resultado:
Resultado:
Estilos de tarjeta
Las tarjetas incluyen varias opciones para personalizar sus fondos, bordes y color.
Utilice las utilidades de texto y fondo para cambiar la apariencia de una tarjeta, para ello
deberá agregar la clase: bg-* donde * puede ser: primary, secundary, success,
danger, warning, info, light, dark.
El código HTML para las tarjetas anteriores se ha resumido a las dos primeras, puesto que
es muy similar en todos los casos.
<div class="card text-white bg-primary mb-3" style="max-width: 18rem;">
<div class="card-header">Encabezado</div>
<div class="card-body">
<h5 class="card-title">Tarjeta primaria con titulo </h5>
<p class="card-text">Some quick example text to build on the card title and make
up the bulk of the card's content.</p>
</div>
</div>
<div class="card text-white bg-secondary mb-3" style="max-width: 18rem;">
<div class="card-header">Encabezado</div>
<div class="card-body">
<h5 class="card-title">Tarjeta secundaria con titulo </h5>
<p class="card-text">Some quick example text to build on the card title and make
up the bulk of the card's content.</p>
</div>
</div>
…
Bordes
Use las utilidades de borde para cambiar solo el border-color de una tarjeta. Tenga en
cuenta que puede poner .text-{color} clases en el padre .card o en un subconjunto
del contenido de la tarjeta como se muestra a continuación.
Debido a que la documentación sobre las tarjetas de Bootstrap es demasiado extensa en
este documento no se abordara en su totalidad, pero el lector puede consultar la
documentación que povee Botstrap a través del siguientes enlace
https://getbootstrap.com/docs/4.5/components/card/.
Ejemplo:
Resultado:
La mejor parte es que también puedes hacer esto con cualquier variante de botón:
Para ello solo se debe agregar una clase al tipo de botón que se utilizará, de los que
provee Bootstrap y de los cuales ya se ha hablado con anterioridad.
Clases disponibles:
.btn-primary .btn-danger
.btn-seconday .btn-light
.btn-warning .btn-dark
.btn-info
Botón de división
Del mismo modo, cree menús desplegables de botones divididos con prácticamente el
mismo marcado que los botones desplegables de un solo botón, pero con la adición
de .dropdown-toggle-split un espacio adecuado alrededor del cursor desplegable.
Usamos esta clase adicional para reducir la horizontal padding a cada lado del cursor en
un 25% y eliminar la margin-left que se agrega para desplegar botones
regularmente. Esos cambios adicionales mantienen el cursor centrado en el botón de
división y proporcionan un área de impacto más apropiada al lado del botón principal. Por
ejemplo:
Resultado:
Los demás ejemplos han sido agregados en el código HTML cambiando la clase del tipo
de botón, de las mencionados anteriormente.
Dimensionamiento
Los menús desplegables de botones funcionan con botones de todos los tamaños,
incluidos los botones desplegables predeterminados y divididos.
Agregando las clases necesarias para visualizar el tamaño, estas clases pueden ser:
.btn-lg
btn-sm .btn-sm
Obteniendo los posibles siguientes resultados:
Direcciones
Desplegar hacia arriba
Resultado:
Desplegable a la izquierda
Active menús desplegables a la izquierda de los elementos agregándolos .dropleft
al elemento principal. Por ejemplo:
Resultado:
Encabezados
Agregue un encabezado para etiquetar secciones de acciones en cualquier menú
desplegable. Tan solo hay que agregar una etiqueta de encabezado <h*> con la clase
.dropdown-header.
<div class="dropdown-menu">
<h6 class="dropdown-header">Encabezado del desplegable</h6>
<a class="dropdown-item" href="#">Acción</a>
<a class="dropdown-item" href="#">Otra acción</a>
</div>
Resultado:
Divisores
Grupos separados de elementos de menú relacionados con un divisor. Basta con
agregar un contenedor <div></div> con la clase .dropdown-divider
<div class="dropdown-menu">
<a class="dropdown-item" href="#">Acción</a>
<a class="dropdown-item" href="#">Otra acción</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Enlace separadok</a>
</div>
Resultado:
Texto
Coloque cualquier texto de forma libre dentro de un menú desplegable con texto y
use utilidades de espaciado . Tenga en cuenta que probablemente necesitará estilos de
tamaño adicionales para restringir el ancho del menú. Por ejemplo:
<div class="dropdown-menu p-4 text-muted" style="max-width: 200px;">
<p>
Este es un ejemplo de texto dentro del menú despleguable.
</p>
</div>
Resultados:
Formulario
Coloque un formulario dentro de un menú desplegable, o conviértalo en un menú
desplegable, y use las utilidades de margen o relleno para darle el espacio negativo que
necesita. Por ejemplo:
<div class="btn-group">
<button type="button" class="btn btn-primary dropdown-toggle" data-
toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Desplegar formulario
</button>
<div class="dropdown-menu">
<!--Desede este punto se adjunta el codigo HTML del formulario-->
<form class="px-4 py-3">
<div class="form-group">
<label for="exampleDropdownFormEmail1">Correo
electrónico</label>
<input type="email" class="form-control"
id="exampleDropdownFormEmail1" placeholder="micorreo@mail.com">
</div>
<div class="form-group">
<label for="exampleDropdownFormPassword1">Contraseña</label>
<input type="password" class="form-control"
id="exampleDropdownFormPassword1" placeholder="contraseña">
</div>
<div class="form-group">
<div class="form-check">
<input type="checkbox" class="form-check-input"
id="dropdownCheck">
<label class="form-check-label" for="dropdownCheck">
Recordarme
</label>
</div>
</div>
<button type="submit" class="btn btn-primary">Acceder</button>
</form>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Eres nuevo? Regístrate</a>
<a class="dropdown-item" href="#">Olvidaste tu contraseña?</a>
</div>
</div>
Resultado:
Puesto que no se han abordado los formularios no se presentan más ejemplos sobre
formularios dentro de menús desplegables, sin embargo, se profundizará sobre ellos en la
siguiente sección.
Formularios
Los controles de formulario de Bootstrap se expanden en estilos de formulario
Reiniciados con clases. Use estas clases para optar por sus pantallas personalizadas para
una representación más consistente en navegadores y dispositivos.
<form >
<div class="form-group">
<label for="exampleInputEmail1">Correo electrónico</label>
<input type="email" class="form-control" id="exampleInputEmail1"
aria-describedby="emailHelp">
<small id="emailHelp" class="form-text text-muted">
Nunca compartiremos su correo electrónico con nadie más.</small>
</div>
<div class="form-group">
<label for="exampleInputPassword1">Contraseña</label>
<input type="Contraseña" class="form-control"
id="exampleInputPassword1">
</div>
<div class="form-group form-check">
<input type="checkbox" class="form-check-input" id="exampleCheck1">
<label class="form-check-label" for="exampleCheck1">Echame un
vistazo</label>
</div>
<button type="submit" class="btn btn-primary">Acceder</button>
</form>
Resultado:
Controles de formulario
Los controles de forma textual, como <input>, <select> y <textarea>, están diseñados
con la clase .form-control. Se incluyen estilos para apariencia general, estado de
enfoque, tamaño y más.
<form>
<!--Input de tipo mail con bootstrap 4-->
<div class="form-group">
<label for="exampleFormControlInput1">Correo electrónico</label>
<input type="email" class="form-control" id="exampleFormControlInput1"
placeholder="name@example.com">
</div>
<!--Input de tipo select con bootstrap 4-->
<div class="form-group">
<label for="exampleFormControlSelect1">Seleccionar ejemplo</label>
<select class="form-control" id="exampleFormControlSelect1">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
</div>
<!--Input de tipo textarea con bootstrap 4-->
<div class="form-group">
<label for="exampleFormControlTextarea1">Ejemplo textarea</label>
<textarea class="form-control" id="exampleFormControlTextarea1"
rows="3">
</textarea>
</div>
</form>
Resultado:
Cabe resaltar y destacar que para aplicar los estilos de Bootstrap a los formularios es
recomendable encerrar todos los elementos relativos a un control dentro de un
contenedor (puede ser <div>) con la clase .form-group. Un ejemplo de ello se encuentra
en el caso anterior en el que para un input de tipo mail, se encerraban todos los elementos
en un contenedor div:
<div class="form-group">
<label for="exampleFormControlInput1">Correo electrónico</label>
<input type="email" class="form-control" id="exampleFormControlInput1"
placeholder="name@example.com">
</div>
Obteniendo el resultado dentro del formulario:
Resultado:
Formulario inline
Mediante la utilización de la clase .form-inline sobre la etiqueta <form> podemos crear
formularios que se dispondrán en una sola línea. A continuación, se incluye un ejemplo de
este tipo de formularios:
<form class="form-inline">
<div class="form-group mx-sm-3">
<label for="inputUser" class="sr-only">User</label>
<input type="password" class="form-control" id="inputUser"
placeholder="User">
</div>
<div class="form-group mx-sm-3">
<label for="inputPass" class="sr-only">Password</label>
<input type="password" class="form-control" id="inputPass"
placeholder="Passwor">
</div>
<button type="submit" class="btn btn-primary">Confirm</button>
</form>
Resultado:
Aunque los campos del formulario no contengan etiquetas (labels) es necesario incluirlas
por cuestiones de accesibilidad, para dar soporte a los lectores de pantalla. Por este
motivo se han incluido en el ejemplo anterior con la clase .sr-only (screen readers only).
Resultado:
Se puede visualizar con más detalles la documentación de formularios en Bootstrap a
través del siguiente enlace: https://getbootstrap.com/docs/4.5/components/forms/.
Donde también se puede encontrar más ejemplos sobre formularios.
Grupo de entrada
Extienda fácilmente los controles de formulario agregando texto, botones o grupos de
botones a cada lado de las entradas de texto, selecciones personalizadas y entradas de
archivo personalizadas. Ejemplo básico:
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text" id="basic-addon1">@</span>
</div>
<input type="text" class="form-control" placeholder="Usuario" aria-
label="Usuario" aria-describedby="basic-addon1">
</div>
Resultado:
Dimensionamiento
Resultado:
Entradas múltiples
Si bien <input>se admiten visualmente varios mensajes de correo electrónico, los estilos
de validación solo están disponibles para grupos de entrada con uno solo <input>.
Ejemplo:
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">Primer Nombre y Apellido</span>
</div>
<input type="text" aria-label="First name" class="form-control">
<input type="text" aria-label="Last name" class="form-control">
</div>
Resultado:
Complementos múltiples
Se admiten varios complementos y se pueden mezclar con las casillas de verificación y las
versiones de entrada de radio.
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">$</span>
<span class="input-group-text">0.00</span>
</div>
<input type="text" class="form-control" aria-label="Dollar amount (with dot
and two decimal places)">
</div>
Resultado:
Alternando y/o modificando los completos para ser visualizados antes o después del input,
para ello se utilizan las clases: input-group-prepend e input-group-append.
Con ello se puede obtener resultados como los siguientes:
Resultado:
Botones segmentados
Resultado:
Formularios personalizados
Los grupos de entrada incluyen soporte para selecciones personalizadas y entradas de
archivos personalizados. Las versiones predeterminadas del navegador de estos no son
compatibles.
Selección personalizada
<div class="input-group mb-3">
<div class="input-group-prepend">
<label class="input-group-text"
for="inputGroupSelect01">Opciones</label>
</div>
<select class="custom-select" id="inputGroupSelect01">
<option selected>Escoger</option>
<option value="1">Uno</option>
<option value="2">Dos</option>
<option value="3">Tres</option>
</select>
</div>
Resultado:
Resultado:
Jumbotron
Componente ligero y flexible para exhibir contenido de estilo de unidad héroe.
<div class="jumbotron">
<h1 class="display-4">Hola, mundo!</h1>
<p class="lead">Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Accusantium autem doloribus esse est eveniet.</p>
<hr class="my-4">
<p>Accusantium autem doloribus esse est eveniet, exercitationem incidunt
ipsam magni obcaecati quae quo.</p>
<a class="btn btn-primary btn-lg" href="#" role="button">Leer más</a>
</div>
Resultado:
Para hacer que el jumbotron sea de ancho completo y sin esquinas redondeadas, agregue
la .jumbotron-fluid clase de modificador y agregue .container o .container-fluid
inside.
Lista de
grupo
Los grupos de listas son un componente flexible y poderoso para mostrar una serie de
contenido. El grupo de lista más básico es una lista desordenada con elementos de lista y
las clases adecuadas. Desarrolle sobre él con las opciones que siguen, o con su propio CSS
según sea necesario. Por ejemplo:
<ul class="list-group">
<li class="list-group-item">Cras justo odio</li>
<li class="list-group-item">Dapibus ac facilisis in</li>
<li class="list-group-item">Morbi leo risus</li>
<li class="list-group-item">Porta ac consectetur ac</li>
<li class="list-group-item">Vestibulum at eros</li>
</ul>
Resultado:
Artículos activos
Agregar .active a .list-group-item para indicar la selección activa actual.
<ul class="list-group">
<li class="list-group-item active">Cras justo odio</li>
<li class="list-group-item">Dapibus ac facilisis in</li>
</ul>
Resultado:
Artículos deshabilitados
Agregar .disabled a .list-group-item para que parezca deshabilitado. Tenga en
cuenta que algunos elementos con .disabled también requerirán JavaScript
personalizado para deshabilitar completamente sus eventos de clic (por ejemplo, enlaces).
<ul class="list-group">
<li class="list-group-item disabled" aria-disabled="true">Cras justo
odio</li>
<li class="list-group-item">Dapibus ac facilisis in</li>
</ul>
Resultado:
Enlaces y botones
Use <a> o <button> para crear elementos de grupo de lista accionables con estado activo,
deshabilitado y activo agregando .list-group-item-action. Separamos estas
pseudoclases para asegurar que los grupos de listas hechos de elementos no interactivos
(como <li> o <div>) no proporcionen un clic. Asegúrese de no usar las clases
.btn estándar aquí.
Por ejemplo:
<div class="list-group">
<a href="#" class="list-group-item list-group-item-action active">Cras justo
odio</a>
<a href="#" class="list-group-item list-group-item-action disable">Dapibus
ac facilisis in</a>
<a href="#" class="list-group-item list-group-item-action">Morbi leo
risus</a>
</div>
Resultado:
Rubor
Agregue .list-group-flush para eliminar algunos bordes y esquinas redondeadas para
representar elementos de grupo de lista de borde a borde en un contenedor principal (por
ejemplo, tarjetas).
Resultados:
Horizontal
Agregar la clase .list-group-horizontal para cambiar el diseño de los elementos del
grupo de listas de vertical a horizontal en todos los puntos de
interrupción. Alternativamente, elija una variante responsiva .list-group-horizontal-
{sm|md|lg|xl} para hacer un grupo de lista horizontal comenzando en ese punto de
interrupción min-width. Por ejemplo:
<ul class="list-group list-group-horizontal">
<li class="list-group-item">Elemento a la izquierda</li>
<li class="list-group-item">Elemento a la medio</li>
<li class="list-group-item">Elemento a la derecha</li>
</ul>
Resultado:
También pueden ser mezclados con las clases anteriores activado, deshabilitado, etc.
Clases contextuales
Use clases contextuales para diseñar elementos de la lista con un fondo y color con estado.
list-group-item-primary list-group-item-warning
list-group-item-secondary list-group-item-info
list-group-item-success list-group-item-light
list-group-item-danger list-group-item-dark
<ul class="list-group">
<!--Ejemplo de elementos con color de fondo-->
<li class="list-group-item list-group-item-primary">Un elemento de grupo de
lista primaria</li>
<li class="list-group-item list-group-item-secondary">Un elemento de grupo
de lista secundaria</li>
<li class="list-group-item list-group-item-success">Un elemento de grupo de
lista éxito</li>
<li class="list-group-item list-group-item-danger">Un elemento de grupo de
lista peligro</li>
<li class="list-group-item list-group-item-warning">Un elemento de grupo de
lista advertencia</li>
<li class="list-group-item list-group-item-info">Un elemento de grupo de
lista información</li>
<li class="list-group-item list-group-item-light">Un elemento de grupo de
lista light</li>
<li class="list-group-item list-group-item-dark">Un elemento de grupo de
lista oscuro</li>
</ul>
Resultado:
Con insignias
Agregue insignias a cualquier elemento del grupo de la lista para mostrar recuentos no
leídos, actividad y más con la ayuda de algunas utilidades.
<ul class="list-group">
<li class="list-group-item d-flex justify-content-between align-items-
center">
Cras justo odio
<span class="badge badge-primary badge-pill">14</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-
center">
Dapibus ac facilisis in
<span class="badge badge-secondary badge-pill">2</span>
</li>
</ul>
<div class="list-group">
<a href="#" class="list-group-item list-group-item-action active">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">Encabezado de item de grupo de lista</h5>
<small>3 days ago</small>
</div>
<p class="mb-1">Donec id elit non mi porta gravida at eget metus.
Maecenas sed diam eget risus varius blandit.</p>
<small>Donec id elit non mi porta.</small>
</a>
<a href="#" class="list-group-item list-group-item-action">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">Encabezado de item de grupo de lista</h5>
<small class="text-muted">3 days ago</small>
</div>
<p class="mb-1">Donec id elit non mi porta gravida at eget metus.
Maecenas sed diam eget risus varius blandit.</p>
<small class="text-muted">Donec id elit non mi porta.</small>
</a>
</div>
Resultado:
Objetos multimedia
Documentación y ejemplos para el objeto multimedia de Bootstrap para construir
componentes altamente repetitivos como comentarios de blog, tweets y similares.
<div class="media">
<img src="..." class="mr-3" alt="...">
<div class="media-body">
<h5 class="mt-0">Encabezado de media</h5>
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus
scelerisque ante sollicitudin. Cras purus odio, vestibulum in
vulputate at, tempus viverra turpis. Fusce condimentum nunc ac
nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
</div>
</div
Resultado:
Anidamiento
Los objetos multimedia pueden estar anidados infinitamente, aunque le sugerimos que se
detenga en algún momento. Lugar anidado .media dentro .media-body de un objeto
multimedia principal.
<div class="media">
<img src="..." class="mr-3" alt="...">
<div class="media-body">
<h5 class="mt-0">Encabezado de la media</h5>
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus
scelerisque ante sollicitudin. Cras purus odio, vestibulum in
vulputate at, tempus viverra turpis. Fusce condimentum nunc ac.
<!--Definimos un objeto media anidado-->
<div class="media mt-3">
<a class="mr-3" href="#">
<img src="..." class="mr-3" alt="...">
</a>
<div class="media-body">
<h5 class="mt-0">Encabezado de la media anidada</h5>
Cras sit amet nibh libero, in gravida nulla. Nulla vel
metus scelerisque ante sollicitudin. Cras purus odio,
vestibulum in vulputate at, tempus viverra turpis.
</div>
</div>
</div>
</div>
Resultado:
Alineación
Los medios en un objeto de medios se pueden alinear con las utilidades de flexbox en la
parte superior (predeterminado), en el medio o al final de su .media-body. contenido. Tan
solo debe agregarse la clase al elemento <img class=“align-self-*”>
Superior: align-self-start
Medio: align-self-center
Inferior: align-self-end
Orden
Cambie el orden del contenido en los objetos multimedia modificando el propio HTML o
agregando algunos CSS personalizados de flexbox para establecer la order propiedad (a
un entero de su elección). Basta con cambiar el orden del <img> y del <div
class=”media-body”></div> a <div class=”media-body”></div> y luego el <img>.
Nos daría un resultado como el siguiente:
Lista de medios
Debido a que el objeto multimedia tiene muy pocos requisitos estructurales, también
puede usar estas clases en los elementos HTML de la lista. En su <ul> o <ol>,
agregue .list-unstyled para eliminar los estilos de lista predeterminados del navegador
y luego aplique .media a sus <li>. Como siempre, use las utilidades de espaciado donde
sea necesario para ajustar. Por ejemplo:
<ul class="list-unstyled">
<li class="media">
<img src="..." class="mr-3" alt="...">
<div class="media-body">
<h5 class="mt-0 mb-1">Lista basada en bjeto media</h5>
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus
scelerisque ante sollicitudin. Cras purus odio, vestibulum in
vulputate at, tempus viverra turpis. Fusce condimentum nunc ac
nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
</div>
</li>
<li class="media my-4">
<img src="..." class="mr-3" alt="...">
<div class="media-body">
<h5 class="mt-0 mb-1">Lista basada en bjeto media</h5>
Cras sit amet nibh libero, in gravida nulla. Nulla vel
metus scelerisque ante sollicitudin. Cras purus odio,
vestibulum in vulputate at, tempus viverra turpis. Fusce
condimentum nunc ac nisi vulputate fringilla. Donec lacinia.
</div>
</li>
<li class="media">
<img src="..." class="mr-3" alt="...">
<div class="media-body">
<h5 class="mt-0 mb-1">Lista basada en bjeto media</h5>
Cras sit amet nibh libero, in gravida nulla. Nulla vel
metus scelerisque ante sollicitudin. Cras purus odio,
vestibulum in vulputate at, tempus viverra turpis.
Fusce condimentum nunc ac nisi vulputate fringilla.
</div>
</li>
</ul>
Resultado:
Modal
Antes de comenzar con el componente modal de Bootstrap, asegúrese de leer lo siguiente
ya que nuestras opciones de menú han cambiado recientemente.
Los modos se crean con HTML, CSS y JavaScript. Se colocan sobre todo lo demás
en el documento y eliminan el desplazamiento del <body>para que el contenido
modal se desplace en su lugar.
Al hacer clic en el "fondo" modal, se cerrará automáticamente el modal.
Bootstrap solo admite una ventana modal a la vez. Los modales anidados no son
compatibles, ya que creemos que son malas experiencias de usuario.
Uso de modalidades position: fixed, que a veces puede ser un poco particular
sobre su representación. Siempre que sea posible, coloque su HTML modal en una
posición de nivel superior para evitar posibles interferencias de otros elementos. Es
probable que tenga problemas al anidar un .modal dentro de otro elemento fijo.
Una vez más, debido a que position: fixed hay algunas advertencias sobre el
uso de modales en dispositivos móviles.
Componentes modales
A continuación, se muestra un ejemplo de modal estática (es decir, su position y display
se han anulado). Se incluyen el encabezado modal, el cuerpo modal (requerido
para padding) y el pie de página modal (opcional).
Navs
Documentación y ejemplos sobre cómo usar los componentes de navegación incluidos de
Bootstrap.
Ejemplo simple:
<ul class="nav">
<li class="nav-item">
<a class="nav-link active" href="#">Activo</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Enlace</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Enlace</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-
disabled="true">Inhabilitado</a>
</li>
</ul>
Resultado:
Estilos
disponibles
Alineación horizontal
Centrado en .justify-content-center:
Vertical
Apila tu navegación cambiando la dirección del elemento flexible con la utilidad .flex-
column. ¿Necesita apilarlos en algunas ventanas gráficas, pero no en otras? Use las
versiones receptivas (por ejemplo, .flex-sm-column).
Resultado:
Pestañas
Toma la navegación básica desde arriba y agrega la clase .nav-tabs para generar una
interfaz con pestañas. Úselos para crear regiones tabulables con complemento JavaScript
de pestañas.
Resultado:
Pastillas
Tome ese mismo HTML, pero use en su lugar .nav-pills:
Llenar y justificar
Fuerce el contenido .nav para ampliar el ancho completo disponible en una de las dos
clases de modificadores. Para llenar proporcionalmente todo el espacio disponible con
su .nav-item, use .nav-fill. Observe que todo el espacio horizontal está ocupado, pero
no todos los elementos de navegación tienen el mismo ancho.
Resultado:
Sobre accesibilidad
Usando menús desplegables
Agregue menús desplegables con un poco de HTML adicional y el complemento de
JavaScript desplegable.
Resultado:
Resultado:
De igual forma se pueden utilizar NAVs verticales de pastilla con contenido lateral,
agregando la clase .flex-column:
<div class="col-3">
<div class="nav flex-column nav-pills" id="v-pills-tab"
role="tablist" aria-orientation="vertical">
<a class="nav-link active" id="v-pills-home-tab"
data-toggle="pill" href="#v-pills-home">Inicio
</a>
<a class="nav-link" id="v-pills-profile-tab"
data-toggle="pill" href="#v-pills-profile">Perfil
</a>
<a class="nav-link" id="v-pills-messages-tab"
data-toggle="pill" href="#v-pills-messages">Mensajes
</a>
<a class="nav-link" id="v-pills-settings-tab"
data-toggle="pill" href="#v-pills-settings">Ajustes
</a>
</div>
</div>
<div class="col-9">
<div class="tab-content" id="v-pills-tabContent">
<div class="tab-pane fade show active" id="v-pills-home" role="tabpanel"
aria-labelledby="v-pills-home-tab">Lorem ipsum dolor sit amet,
consectetur adipisicing elit. A culpa dolor dolores eius.
</div>
</div>
</div>
Resultado:
Esto es lo que necesita saber antes de comenzar con la barra de navegación:
Contenido soportado
Las barras de navegación vienen con soporte incorporado para un puñado de
subcomponentes. Elija entre los siguientes según sea necesario:
Aquí hay un ejemplo de todos los subcomponentes incluidos en una barra de navegación
responsiva tema light que se colapsa automáticamente en el lg punto de interrupción
(grande).
Resultado:
Elemento Brand
.navbar-brand se puede aplicar a la mayoría de los elementos, pero un ancla funciona
mejor ya que algunos elementos pueden requerir clases de utilidad o estilos
personalizados.
<nav class="navbar navbar-light bg-light">
… <!—Aquí se puede incluir un elemento personalizao -->
</nav>
…
Resultado:
Resultado:
Nav
Los enlaces de navegación de la barra de navegación se basan en las opciones .nav con
su propia clase de modificador y requieren el uso de clases de alternador para un estilo
responsive adecuado. La navegación en las barras de navegación también crecerá
hasta ocupar la mayor cantidad de espacio horizontal posible para mantener los
contenidos de la barra de navegación alineados de forma segura.
Estados activos .active —con— para indicar que la página actual se puede aplicar
directamente a .nav-link o a sus padres inmediatos .nav-item. Por ejemplo:
Resultado:
Formas
<form class="form-inline">
<input class="form-control mr-sm-2" type="search" placeholder="Buscar" aria-
label="Buscar">
<button class="btn btn-outline-success my-2 my-sm-0"
type="submit">Buscar</button>
</form>
Resultado:
Grupos de entrada
Resultado:
Botones
Resultado:
Texto
Las barras de navegación pueden contener fragmentos de texto con la ayuda de .navbar-
text. Esta clase ajusta la alineación vertical y el espaciado horizontal para las cadenas de
texto.
Esquemas de color
Crear una barra de navegación nunca ha sido tan fácil gracias a la combinación de clases
y utilidades temáticas background-color. Elija entre .navbar-light usar con colores de
fondo claros o .navbar-dark colores de fondo oscuros. Luego, personalice con
utilidades .bg-*.
Resultado:
<div class="container">
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Navbar</a>
</nav>
</div>
Resultado en el navegador:
Colocación:
Se pueden utilizar las siguientes clases para mantener la barra de la navegación siempre
visible en pantalla:
Contenido externo
A veces, desea utilizar el complemento contraer para activar contenido oculto en otra
parte de la página. Debido a que nuestro complemento funciona en el id y la data-
target.
<div class="fixed-top">
<div class="collapse" id="navbarToggleExternalContent">
<div class="bg-dark p-4">
<h5 class="text-white h4">Contenido colapsado</h5>
<span class="text-muted">Alternable a través de la
marca navbar.</span>
</div>
</div>
<nav class="navbar navbar-dark bg-dark">
<button class="navbar-toggler" type="button" data-toggle="collapse"
data-target="#navbarToggleExternalContent"
aria-controls="navbarToggleExternalContent" aria-
expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
</nav>
</div>
Resultado en el navegador:
Paginación
Usamos un gran bloque de enlaces conectados para nuestra paginación, lo que hace que
los enlaces sean difíciles de perder y fácilmente escalables, todo al tiempo que
proporciona grandes áreas de impacto. La paginación se crea con elementos HTML de lista
para que los lectores de pantalla puedan anunciar la cantidad de enlaces disponibles. Use
un elemento <nav> de ajuste para identificarlo como una sección de navegación para
examinar lectores y otras tecnologías de asistencia.
Resultado:
Trabajando con iconos
¿Desea utilizar un icono o símbolo en lugar de texto para algunos enlaces de
paginación? Asegúrese de proporcionar soporte de lector de pantalla adecuado con aria
atributos.
<nav aria-label="...">
<ul class="pagination">
<li class="page-item disabled">
<a class="page-link" href="#" tabindex="-1" aria-
disabled="true">Anterior</a>
</li>
…
<li class="page-item active" aria-current="page">
<a class="page-link" href="#">2 </a>
</li>
…
</ul>
</nav>
Resultado en el navegador:
Dimensionamiento
¿Te apetece una paginación más grande o más pequeña? Agregar .pagination-lg
o .pagination-sm para tamaños adicionales.
<nav aria-label="...">
<ul class="pagination pagination-lg">
…
</ul>
</nav>
<nav aria-label="...">
<ul class="pagination pagination-sm">
…
</ul>
</nav>
Alineación
Cambie la alineación de los componentes de paginación con las utilidades de flexbox.
</ul>
</nav>
Popovers
Documentación y ejemplos para agregar elementos emergentes de Bootstrap.
Visión general
Cosas que debe saber al usar el complemento popover:
$(function () {
$('.example-popover').popover({
container: 'body'
})
})
Resultado:
Scrollspy
Actualice automáticamente la navegación Bootstrap o los componentes del grupo de listas
según la position de desplazamiento para indicar qué enlace está actualmente activo en la
ventana gráfica.
Cómo funciona
Scrollspy tiene algunos requisitos para funcionar correctamente:
Importante: es necesario agregar código css como se indica al inicio del apartado para que
el contenido se adapte a nuestras necesidades.
</div>
<div id="section2">
<h4 id="mdo">@mdo</h4>
<p>…p>
</div>
<div id="section3">
<h4 id="one">one</h4>
<p>…p>
</div>
<div id="section4">
<h4 id="two">two</h4>
<p>…p>
</div>
<div id="section5">
<h4 id="three">three</h4>
<p>…</p>
</div>
</div>
#contenido {
position: relative;
overflow-y: scroll;
height: 300px;
}
#section1 {padding-top:50px;height:300px;color: #fff; background-color:
#1E88E5;}
#section2 {padding-top:50px;height:300px;color: #fff; background-color:
#673ab7;}
#section3 {padding-top:50px;height:300px;color: #fff; background-color:
#ff9800;}
#section4 {padding-top:50px;height:300px;color: #fff; background-color:
#00bcd4;}
#section5 {padding-top:50px;height:300px;color: #fff; background-color:
#009688;}
Resultado:
Navegación anidada
Scrollspy también funciona con .nav anidados . Si un anidado .nav es .active, sus
padres también lo estarán .active.
</div>
Resultado:
list-group
Scrollspy también funciona con .list-group.
Resultado:
Hiladores
Indique el estado de carga de un componente o página con hiladores Bootstrap, creados
completamente con HTML, CSS y sin JavaScript.
Los "holadores" de Bootstrap se pueden usar para mostrar el estado de carga en sus
proyectos. Están construidos solo con HTML y CSS, lo que significa que no necesita ningún
JavaScript para crearlos. Sin embargo, necesitará algunos JavaScript personalizados para
alternar su visibilidad. Su apariencia, alineación y tamaño se pueden personalizar
fácilmente con nuestras increíbles clases de utilidad.
Resultado:
Colores
El spinner de borde usa currentColor para su border-color, lo que significa que puede
personalizar el color con las utilidades de color de texto. Puede utilizar cualquiera de
nuestras utilidades de color de texto en la ruleta estándar.
Donde {*color} puede ser cualquier clase de las siguientes que prove Bootstrap:
text-primary text-warning
text-secondary text-info
text-success text-light
text-danger text-dark
Resultado:
Spinner
creciente
<div class="spinner-grow" role="status">
<span class="sr-only">Loading...</span>
</div>
Alineación
Los hilanderos en Bootstrap están construidos con rem currentColor, y display:
inline-flex. Esto significa que pueden redimensionarse, cambiarse de color y alinearse
fácilmente.
Margen
Use utilidades de margen como .m-5 para un espaciado fácil.
Colocación
Use las utilidades de flexbox, las utilidades de flotación o las utilidades de alineación de
texto para colocar los hilanderos exactamente donde los necesita en cualquier situación.
Flexionar
Alineación en el centro
<div class="d-flex justify-content-center">
<div class="spinner-border" role="status">
<span class="sr-only">Loading...</span>
</div>
</div>
Alineación a la derecha:
Texto alineado
<div class="text-center">
<div class="spinner-border" role="status">
<span class="sr-only">Loading...</span>
</div>
</div>
Carrozas
<div class="clearfix">
<div class="spinner-border float-right" role="status">
<span class="sr-only">Loading...</span>
</div>
</div>
Tamaño
<div class="spinner-border spinner-border-sm" role="status">
<span class="sr-only">Loading...</span>
</div>
Botones
Use los controles giratorios dentro de los botones para indicar que una acción se está
procesando o está teniendo lugar actualmente. También puede intercambiar el texto del
elemento giratorio y utilizar el texto del botón según sea necesario.
<button class="btn btn-primary" type="button" disabled>
<span class="spinner-border spinner-border-sm" role="status" aria-
hidden="true"></span>
<span class="sr-only">Cargando...</span>
</button>
<button class="btn btn-primary" type="button" disabled>
<span class="spinner-border spinner-border-sm" role="status" aria-
hidden="true"></span>
Cargando...
</button>
Toasts (Tostadas)
Las tostadas son notificaciones ligeras diseñadas para imitar las notificaciones push que se
han popularizado en los sistemas operativos móviles y de escritorio. Están construidos con
flexbox, por lo que son fáciles de alinear y colocar.
Las tostadas son tan flexibles como sea necesario y tienen muy poco marcado
necesario. Como mínimo, requerimos un solo elemento que contenga su contenido
"tostado" y recomendamos encarecidamente un botón para descartar.
Translúcido
Las tostadas también son ligeramente translúcidas, por lo que se mezclan sobre lo que sea
que aparezcan. Para los navegadores que admiten la backdrop-filter propiedad CSS,
también intentaremos desenfocar los elementos bajo un brindis.
Resultado:
Puedes profundizar sobre la los Tooltip de Bootstrap a través del enlace siguiente: