Beruflich Dokumente
Kultur Dokumente
Listas deplegables
Alterna las superposiciones contextuales para mostrar listas de enlaces y
más con el complemento desplegable Bootstrap.
Visión de conjunto
Los menús desplegables son superposiciones contextuales conmutables para mostrar listas de enlaces
y más. Se hacen interactivos con el complemento de JavaScript desplegable Bootstrap incluido. Se
activan al hacer clic, no al desplazarse; Esta es una decisión de diseño intencional .
Los menús desplegables se basan en una biblioteca de terceros, Popper.js , que proporciona un
posicionamiento dinámico y detección de viewport. Asegúrese de incluir popper.min.js antes del
JavaScript de Bootstrap o use bootstrap.bundle.min.js/ bootstrap.bundle.jsque contiene Popper.js.
Popper.js no se usa para colocar menús desplegables en las barras de navegación, ya que no se
requiere un posicionamiento dinámico.
Accesibilidad
El estándar WAI (Iniciativa de accesibilidad web) ARIA (Aplicaciones de Internet enriquecidas
accesibles) define un role="menu"widget real , pero esto es específico para menús similares a
aplicaciones que desencadenan acciones o funciones. Los (Aplicaciones de Internet enriquecidas
accesibles) menús ARIA (Accessible Rich Internet Applications) solo pueden contener elementos de
menú, elementos de menú de casillas de verificación, elementos de menú de botones de radio,
grupos de botones de radio y submenús.
Los menús desplegables de Bootstrap, por otro lado, están diseñados para ser genéricos y aplicables a
una variedad de situaciones y estructuras de marcado. Por ejemplo, es posible crear menús
desplegables que contengan entradas adicionales y controles de formulario, como campos de
búsqueda o formularios de inicio de sesión. Por esta razón, Bootstrap no espera (ni agrega
automáticamente) ninguno de los atributos roley aria-necesarios para los verdaderos menús ARIA
(Aplicaciones de Internet enriquecidas accesibles) . Los autores deberán incluir estos atributos más
específicos.
Sin embargo, Bootstrap agrega soporte incorporado para la mayoría de las interacciones de menú de
teclado estándar, como la capacidad de moverse a través de .dropdown-itemelementos individuales
usando las teclas del cursor y cerrar el menú con la ESC tecla.
Ejemplos
Envuelva el botón desplegable (su botón o enlace) y el menú desplegable dentro .dropdown, u otro
elemento que declare position: relative;. Se pueden activar menús desplegables <a>o
<button>elementos para adaptarse mejor a sus necesidades potenciales.
Solo botón
Cualquier single .btnse puede convertir en un menú desplegable con algunos cambios de marcado.
Así es como puede ponerlos a trabajar con cualquiera de los <button>elementos:
https://getbootstrap.com/docs/4.3/components/dropdowns/ 1/14
14/9/2019 Dropdowns · Bootstrap
Botón desplegable
Copiar
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button"
id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-
expanded="false">
Dropdown button
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</div>
Y con <a>elementos:
Enlace desplegable
Copiar
<div class="dropdown">
<a class="btn btn-secondary dropdown-toggle" href="#" role="button"
id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-
expanded="false">
Dropdown link
</a>
La mejor parte es que también puedes hacer esto con cualquier variante de botón:
Copiar
<!-- Example single danger button -->
<div class="btn-group">
<button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
Action
</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Separated link</a>
</div>
</div>
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-
splitun espacio adecuado alrededor del cursor desplegable.
https://getbootstrap.com/docs/4.3/components/dropdowns/ 2/14
14/9/2019 Dropdowns · Bootstrap
Usamos esta clase adicional para reducir la horizontal paddinga cada lado del cursor en un 25% y
eliminar la margin-leftque 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.
Peligro
Copiar
<!-- Example split danger button -->
<div class="btn-group">
<button type="button" class="btn btn-danger">Action</button>
<button type="button" class="btn btn-danger dropdown-toggle dropdown-toggle-split"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="sr-only">Toggle Dropdown</span>
</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Separated link</a>
</div>
</div>
Dimensionamiento
Los menús desplegables de botones funcionan con botones de todos los tamaños, incluidos los
botones desplegables predeterminados y divididos.
Copiar
https://getbootstrap.com/docs/4.3/components/dropdowns/ 3/14
14/9/2019 Dropdowns · Bootstrap
Direcciones
Caer hasta
Desencadenar menús desplegables sobre los elementos agregándolos .dropupal elemento padre.
Copiar
https://getbootstrap.com/docs/4.3/components/dropdowns/ 4/14
14/9/2019 Dropdowns · Bootstrap
Dropright
Active menús desplegables a la derecha de los elementos agregándolos .droprightal elemento
principal.
Copiar
<!-- Default dropright button -->
<div class="btn-group dropright">
<button type="button" class="btn btn-secondary dropdown-toggle" data-
toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropright
</button>
<div class="dropdown-menu">
<!-- Dropdown menu links -->
</div>
</div>
Dropleft
Active menús desplegables a la izquierda de los elementos agregándolos .dropleftal elemento
principal.
https://getbootstrap.com/docs/4.3/components/dropdowns/ 5/14
14/9/2019 Dropdowns · Bootstrap
Copiar
<!-- Default dropleft button -->
<div class="btn-group dropleft">
<button type="button" class="btn btn-secondary dropdown-toggle" data-
toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropleft
</button>
<div class="dropdown-menu">
<!-- Dropdown menu links -->
</div>
</div>
Elementos de menú
Históricamente, el contenido del menú desplegable tenía que ser enlaces, pero ese ya no es el caso
con v4. Ahora puedes usar opcionalmente <button>elementos en tus menús desplegables en lugar de
solo <a>s.
Desplegable
Copiar
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenu2"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenu2">
<button class="dropdown-item" type="button">Action</button>
<button class="dropdown-item" type="button">Another action</button>
<button class="dropdown-item" type="button">Something else here</button>
</div>
</div>
También puede crear elementos desplegables no interactivos con .dropdown-item-text. Siéntase libre
de diseñar aún más con CSS personalizado o utilidades de texto.
Acción
Otra acción
Algo más aquí
https://getbootstrap.com/docs/4.3/components/dropdowns/ 6/14
14/9/2019 Dropdowns · Bootstrap
Copiar
<div class="dropdown-menu">
<span class="dropdown-item-text">Dropdown item text</span>
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
Activo
Agregar .activea elementos en el menú desplegable para diseñarlos como activos .
Copiar
<div class="dropdown-menu">
<a class="dropdown-item" href="#">Regular link</a>
<a class="dropdown-item active" href="#">Active link</a>
<a class="dropdown-item" href="#">Another link</a>
</div>
Discapacitado
Agregar .disableda elementos en el menú desplegable para diseñarlos como deshabilitados .
Copiar
<div class="dropdown-menu">
<a class="dropdown-item" href="#">Regular link</a>
<a class="dropdown-item disabled" href="#" tabindex="-1" aria-
disabled="true">Disabled link</a>
<a class="dropdown-item" href="#">Another link</a>
</div>
¡Aviso! Los menús desplegables se colocan gracias a Popper.js (excepto cuando están
contenidos en una barra de navegación).
Copiar
https://getbootstrap.com/docs/4.3/components/dropdowns/ 7/14
14/9/2019 Dropdowns · Bootstrap
<div class="btn-group">
<button type="button" class="btn btn-secondary dropdown-toggle" data-
toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Right-aligned menu
</button>
<div class="dropdown-menu dropdown-menu-right">
<button class="dropdown-item" type="button">Action</button>
<button class="dropdown-item" type="button">Another action</button>
<button class="dropdown-item" type="button">Something else here</button>
</div>
</div>
Alineación receptiva
Si desea utilizar la alineación receptiva, desactive el posicionamiento dinámico agregando el data-
display="static"atributo y use las clases de variación receptiva.
Para alinear a la derecha el menú desplegable con el punto de interrupción dado o más grande,
agregue .dropdown-menu{-sm|-md|-lg|-xl}-right.
Copiar
<div class="btn-group">
<button type="button" class="btn btn-secondary dropdown-toggle" data-
toggle="dropdown" data-display="static" aria-haspopup="true" aria-expanded="false">
Left-aligned but right aligned when large screen
</button>
<div class="dropdown-menu dropdown-menu-lg-right">
<button class="dropdown-item" type="button">Action</button>
<button class="dropdown-item" type="button">Another action</button>
<button class="dropdown-item" type="button">Something else here</button>
</div>
</div>
Para alinear a la izquierda el menú desplegable con el punto de interrupción dado o más grande,
agregue .dropdown-menu-righty .dropdown-menu{-sm|-md|-lg|-xl}-left.
Copiar
<div class="btn-group">
<button type="button" class="btn btn-secondary dropdown-toggle" data-
toggle="dropdown" data-display="static" aria-haspopup="true" aria-expanded="false">
Right-aligned but left aligned when large screen
</button>
<div class="dropdown-menu dropdown-menu-right dropdown-menu-lg-left">
<button class="dropdown-item" type="button">Action</button>
<button class="dropdown-item" type="button">Another action</button>
<button class="dropdown-item" type="button">Something else here</button>
</div>
</div>
https://getbootstrap.com/docs/4.3/components/dropdowns/ 8/14
14/9/2019 Dropdowns · Bootstrap
Encabezados
Agregue un encabezado para etiquetar secciones de acciones en cualquier menú desplegable.
Encabezado desplegable
Acción
Otra acción
Copiar
<div class="dropdown-menu">
<h6 class="dropdown-header">Dropdown header</h6>
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
</div>
Divisores
Grupos separados de elementos de menú relacionados con un divisor.
Acción
Otra acción
Enlace separado
Copiar
<div class="dropdown-menu">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Separated link</a>
</div>
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ú.
Algún texto de
ejemplo que fluye
libremente dentro
del menú
desplegable.
Copiar
https://getbootstrap.com/docs/4.3/components/dropdowns/ 9/14
14/9/2019 Dropdowns · Bootstrap
Formas
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.
email@example.com
Contraseña
Password
Recuérdame
Registrarse
¿Olvidaste tu contraseña?
Copiar
<div class="dropdown-menu">
<form class="px-4 py-3">
<div class="form-group">
<label for="exampleDropdownFormEmail1">Email address</label>
<input type="email" class="form-control" id="exampleDropdownFormEmail1"
placeholder="email@example.com">
</div>
<div class="form-group">
<label for="exampleDropdownFormPassword1">Password</label>
<input type="password" class="form-control" id="exampleDropdownFormPassword1"
placeholder="Password">
</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">
Remember me
</label>
</div>
</div>
<button type="submit" class="btn btn-primary">Sign in</button>
</form>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">New around here? Sign up</a>
<a class="dropdown-item" href="#">Forgot password?</a>
</div>
https://getbootstrap.com/docs/4.3/components/dropdowns/ 10/14
14/9/2019 Dropdowns · Bootstrap
email@example.com
Contraseña
Password
Recuérdame
Registrarse
Copiar
<form class="dropdown-menu p-4">
<div class="form-group">
<label for="exampleDropdownFormEmail2">Email address</label>
<input type="email" class="form-control" id="exampleDropdownFormEmail2"
placeholder="email@example.com">
</div>
<div class="form-group">
<label for="exampleDropdownFormPassword2">Password</label>
<input type="password" class="form-control" id="exampleDropdownFormPassword2"
placeholder="Password">
</div>
<div class="form-group">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="dropdownCheck2">
<label class="form-check-label" for="dropdownCheck2">
Remember me
</label>
</div>
</div>
<button type="submit" class="btn btn-primary">Sign in</button>
</form>
Opciones desplegables
Use data-offseto data-referencepara cambiar la ubicación del menú desplegable.
Compensar Referencia
Copiar
https://getbootstrap.com/docs/4.3/components/dropdowns/ 11/14
14/9/2019 Dropdowns · Bootstrap
<div class="d-flex">
<div class="dropdown mr-1">
<button type="button" class="btn btn-secondary dropdown-toggle"
id="dropdownMenuOffset" data-toggle="dropdown" aria-haspopup="true" aria-
expanded="false" data-offset="10,20">
Offset
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuOffset">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</div>
<div class="btn-group">
<button type="button" class="btn btn-secondary">Reference</button>
<button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-
split" id="dropdownMenuReference" data-toggle="dropdown" aria-haspopup="true" aria-
expanded="false" data-reference="parent">
<span class="sr-only">Toggle Dropdown</span>
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuReference">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Separated link</a>
</div>
</div>
</div>
Uso
Mediante atributos de datos o JavaScript, el complemento desplegable alterna el contenido oculto
(menús desplegables) al alternar la .showclase en el elemento de la lista principal. Se data-
toggle="dropdown"utiliza el atributo para cerrar los menús desplegables a nivel de aplicación, por lo
que es una buena idea usarlo siempre.
Search... Copiar
<div class="dropdown">
<button id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-
expanded="false">
Empezando Dropdown trigger
Diseño </button>
<div class="dropdown-menu" aria-labelledby="dLabel">
Contenido ...
</div>
Componentes </div>
Alertas
Distintivo
Grupo de botones
https://getbootstrap.com/docs/4.3/components/dropdowns/ 12/14
14/9/2019 Dropdowns · Bootstrap
p
Copiar
Tarjeta $('.dropdown-toggle').dropdown()
Carrusel
Colapso
Lista de grupo
Objeto multimedia
Opciones
Modal
Las opciones se pueden pasar a través de atributos de datos o JavaScript. Para los atributos de datos,
Navs
agregue el nombre de la opción a data-, como en data-offset="".
Barra de navegación
Tenga en cuenta que cuando boundaryse establece en cualquier valor que no sea 'scrollParent', el
estilo position: staticse aplica al .dropdowncontenedor.
Métodos
Método Descripción
https://getbootstrap.com/docs/4.3/components/dropdowns/ 13/14
14/9/2019 Dropdowns · Bootstrap
Método Descripción
Eventos
Todos los eventos desplegables se activan en el .dropdown-menuelemento primario del 's y tienen una
relatedTargetpropiedad, cuyo valor es el elemento de anclaje de alternancia. hide.bs.dropdowny los
hidden.bs.dropdowneventos tienen una clickEventpropiedad (solo cuando el tipo de evento original
es click) que contiene un Objeto de evento para el evento de clic.
Evento Descripción
shown.bs.dropdown Este evento se activa cuando el menú desplegable se ha hecho visible para
el usuario (esperará a que finalicen las transiciones CSS).
Copiar
$('#myDropdown').on('show.bs.dropdown', function () {
// do something...
})
https://getbootstrap.com/docs/4.3/components/dropdowns/ 14/14