# Dropdowns > Dropdowns are toggleable, contextual overlays for displaying lists of links and actions in a > dropdown menu format. `` (or known by its shorter alias of ``) components are toggleable, contextual overlays for displaying lists of links and more. They're toggled by clicking (or pressing space or enter when focused), not by hovering; this is an [intentional design decision](https://markdotto.com/2012/02/27/bootstrap-explained-dropdowns/). ```html
First Action Second Action Third Action Active action Disabled action
``` ## Button content You can customize the text of the dropdown button by using either the `text` prop (shown in previous examples), or use the `button-content` slot instead of the `text` prop. The `button-content` slot allows you to use basic HTML and icons in the button content. If both the prop `text` and slot `button-content` are present, the slot `button-content` will take precedence. ```html
An item Another item An item Another item
``` ## Positioning Dropdown supports various positioning such as left and right aligned, dropdown and dropup, and supports auto-flipping (dropdown to dropup, and vice-versa) when the menu would overflow off of the visible screen area. ### Menu alignment The dropdown menu can either be left aligned (default) or right aligned with respect to the button above it. To have the dropdown aligned on the right, set the `right` prop. ```html
Action Another action Something else here Action Another action Something else here
``` ### Dropup Turn your dropdown menu into a drop-up menu by setting the `dropup` prop. ```html
Action Another action Something else here
``` ### Drop right or left Turn your dropdown menu into a drop-right menu by setting the `dropright` prop. Or, turn it into a drop-left menu by setting the `dropleft` right prop to true. `dropright` takes precedence over `dropleft`. Neither `dropright` or `dropleft` have any effect if `dropup` is set. ```html
Action Another action Something else here Action Another action Something else here
``` ### Auto "flipping" By default, dropdowns may flip to the top, or to the bottom, based on their current position in the viewport. To disable this auto-flip feature, set the `no-flip` prop. ### Menu offset Like to move your menu away from the toggle buttons a bit? Then use the `offset` prop to specify the number of pixels to push right (or left when negative) from the toggle button: - Specified as a number of pixels: positive for right shift, negative for left shift. - Specify the distance in CSS units (i.e. `0.3rem`, `4px`, `1.2em`, etc.) passed as a string. ```html
Action Another action Something else here
``` ### Boundary constraint By default, dropdowns are visually constrained to its scroll parent, which will suffice in most situations. However, if you place a dropdown inside an element that has `overflow: scroll` (or similar) set, the dropdown menu may - in some situations - get cut off. To get around this, you can specify a boundary element via the `boundary` prop. Supported values are `'scrollParent'` (the default), `'viewport'`, `'window'` or a reference to an HTML element. The boundary value is passed directly to Popper.js's `boundariesElement` configuration option. **Note:** When `boundary` is any value other than the default of `'scrollParent'`, the style `position: static` is applied to to the dropdown component's root element in order to allow the menu to "break-out" of its scroll container. In some situations this may affect your layout or positioning of the dropdown trigger button. In these cases you may need to wrap your dropdown inside another element. ### Advanced Popper.js configuration If you need some advanced Popper.js configuration to make dropdowns behave to your needs, you can use the `popper-opts` prop to pass down a custom configuration object which will be deeply merged with the BootstrapVue defaults. Head to the [Popper.js docs](https://popper.js.org/docs/v1/) to see all the configuration options. **Note**: The props `offset`, `boundary` and `no-flip` may loose their effect when you overwrite the Popper.js configuration. ## Split button support Create a split dropdown button, where the left button provides standard `click` event and link support, while the right hand side is the dropdown menu toggle button. ```html
Action Another action Something else here...
``` ### Split button link support The left split button defaults to an element of type `