Breadcrumb
Indica la ubicación de la página actual dentro de una jerarquía de navegación que agrega automáticamente separadores mediante CSS.
Ejemplo
Usa una lista ordenada o desordenada con elementos de lista vinculados para crear una ruta de navegación con un estilo mínimo. Utiliza nuestras utilidades para agregar estilos adicionales según lo desees.
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item active" aria-current="page">Home</li>
</ol>
</nav>
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item active" aria-current="page">Library</li>
</ol>
</nav>
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item"><a href="#">Library</a></li>
<li class="breadcrumb-item active" aria-current="page">Data</li>
</ol>
</nav>
Divisores
Los divisores se agregan automáticamente en CSS a través de ::before
y content
. Se pueden cambiar
modificando una propiedad personalizada CSS local --bs-breadcrumb-divider
, o mediante la variable
Sass $breadcrumb-divider
y $breadcrumb-divider-flipped
para su contraparte RTL, si
es necesario. Utilizamos de forma predeterminada nuestra variable Sass, que se establece como alternativa a la
propiedad personalizada. De esta manera, obtienes un divisor global que puedes sobrescribir sin tener que
volver a compilar CSS en ningún momento.
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item active" aria-current="page">Library</li>
</ol>
</nav>
Al modificar a través de Sass, se requiere la función quote para generar las comillas
alrededor de una cadena. Por ejemplo, usando >
como divisor, puedes usar esto:
$breadcrumb-divider: quote(">");
También es posible usar un icono SVG incrustado. Aplícalo a través de nuestra propiedad personalizada CSS o usa la variable Sass.
<
, >
y #
, deben estar codificado en URL o con formato de
escape. Hacemos esto con la variable $breadcrumb-divider
usando nuestro escape-svg()
(función Sass). Al personalizar la
variable CSS, debes manejarlo tú mismo. Lee las explicaciones de Kevin Weber sobre CodePen para obtener
más información.
<nav style="--bs-breadcrumb-divider: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M2.5 0L1 1.5 3.5 4 1 6.5 2.5 8l4-4-4-4z' fill='%236c757d'/%3E%3C/svg%3E");" aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item active" aria-current="page">Library</li>
</ol>
</nav>
$breadcrumb-divider: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8'><path d='M2.5 0L1 1.5 3.5 4 1 6.5 2.5 8l4-4-4-4z' fill='#{$breadcrumb-divider-color}'/></svg>");
También puedes eliminar la configuración del divisor --bs-breadcrumb-divider: '';
(las cadenas
vacías en las propiedades personalizadas de CSS cuentan como un valor), o estableciendo la variable Sass en
$breadcrumb-divider: none;
.
<nav style="--bs-breadcrumb-divider: '';" aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item active" aria-current="page">Library</li>
</ol>
</nav>
$breadcrumb-divider: none;
Accesibilidad
Dado que las breadcrumbs proporcionan 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>
, además de aplicar un aria-current="page"
al último elemento del
conjunto para indicar que representa la página actual.
Para obtener más información, consulta la Guía de prácticas de creación de breadcrumbs de ARIA.
CSS
Variables
Agregado en v5.2.0Como parte del enfoque de variables CSS en evolución de Bootstrap, las rutas de navegación ahora usan
variables CSS locales en .breadcrumb
para una personalización mejorada en tiempo real. Los
valores de las variables CSS se establecen a través de Sass, por lo que la personalización de Sass también es
compatible.
--#{$prefix}breadcrumb-padding-x: #{$breadcrumb-padding-x};
--#{$prefix}breadcrumb-padding-y: #{$breadcrumb-padding-y};
--#{$prefix}breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom};
@include rfs($breadcrumb-font-size, --#{$prefix}breadcrumb-font-size);
--#{$prefix}breadcrumb-bg: #{$breadcrumb-bg};
--#{$prefix}breadcrumb-border-radius: #{$breadcrumb-border-radius};
--#{$prefix}breadcrumb-divider-color: #{$breadcrumb-divider-color};
--#{$prefix}breadcrumb-item-padding-x: #{$breadcrumb-item-padding-x};
--#{$prefix}breadcrumb-item-active-color: #{$breadcrumb-active-color};
Variables Sass
$breadcrumb-font-size: null;
$breadcrumb-padding-y: 0;
$breadcrumb-padding-x: 0;
$breadcrumb-item-padding-x: .5rem;
$breadcrumb-margin-bottom: 1rem;
$breadcrumb-bg: null;
$breadcrumb-divider-color: var(--#{$prefix}secondary-color);
$breadcrumb-active-color: var(--#{$prefix}secondary-color);
$breadcrumb-divider: quote("/");
$breadcrumb-divider-flipped: $breadcrumb-divider;
$breadcrumb-border-radius: null;