twbs/bootstrap
Bootstrap is a sleek, intuitive, powerful front-end framework for faster web development. Includes responsive grid, components, and JavaScript plugins with extensive docs and tooling. Install via npm, yarn, Bun, Composer, or download releases.
.bd-example class by @julien-deramond in https://github.com/twbs/bootstrap/pull/41556color-contrast() function for WCAG 2.1 compliance by @julien-deramond in https://github.com/twbs/bootstrap/pull/41585<Example> is used, not just <Code> by @louismaximepiton in https://github.com/twbs/bootstrap/pull/41582Full Changelog: https://github.com/twbs/bootstrap/compare/v5.3.7...v5.3.8
<head> content generated by the "Download examples" buttonintegrity and crossorigin attributes in introduction pageplaceholder usage description'none' values in the box-shadow Sass mixin for cleaner outputtrigger: "hover click" configuration.visually-hidden overflowing children to become focusable.card-group selectors to immediate children to fix some inheritance issuesnpm install and npm run dist in CONTRIBUTING.md by @mdo in https://github.com/twbs/bootstrap/pull/41340.card-group to immediate children to fix border-radius bug by @mscdex in https://github.com/twbs/bootstrap/pull/41298devDependencies by @julien-deramond in https://github.com/twbs/bootstrap/pull/41383image-size from 1.0.2 to 2.0.2 by @julien-deramond in https://github.com/twbs/bootstrap/pull/41384.md and .mdx files. by @Jason3S in https://github.com/twbs/bootstrap/pull/41398files configuration from .cspell.json by @julien-deramond in https://github.com/twbs/bootstrap/pull/41400// Private comment and method by @MohamadSalman11 in https://github.com/twbs/bootstrap/pull/41218Full Changelog: https://github.com/twbs/bootstrap/compare/v5.3.5...v5.3.6
Hot fix for a regression from upstream in Autoprefixer.
Full Changelog: https://github.com/twbs/bootstrap/compare/v5.3.4...v5.3.5
util.js in migration guide<article> element for example cards.grid where it shouldn't be used.order-* classes in 'Layout > Columns'.justify-content-start class in homepage.bi-exclamation-triangle-fill classborder-radius rulemax-width and background-colorbtn-group-vertical by using same rules as btn-groupborder-radius ruleutil.js in migration guide<article> element for example cards.order values in the migration guide.grid where it shouldn't be used.order-* classes in 'Layout > Columns'.justify-content-start class in homepage$enable-css-grid → $enable-cssgrid in 'Customize > Options'$enable-css-grid in options.mdaria-hidden="true" to decorative SVGsaria-hidden='true' to decorative SVGs.bi-exclamation-triangle-fill classdata-bs-theme="light" in navbars color schemes markupimageConfigurls.JoinPath in more placesrel="noopener" target="_blank"data-bs-scroll="true" from navbarhugo.IsProduction<article> element for example cardsaria-hidden="true" to decorative SVGsaria-hidden='true' to decorative SVGsvariables-dark.scss when building Bootstrap with Sass. Now, _variables.scss will automatically import _variables-dark.scss. If you were already importing _variables-dark.scss manually, you should keep doing it as it won't break anything and will be the way to go in v6..text-bg-* text utilities to be certain that the text is always readable (especially when the customized colors are different in light and dark modes).color-modes.js script to handle the case where the OS is set to light mode and the auto color mode is used on the website. If you copied the script from our docs, you should apply this change to your own script.color-scheme() only accept light and dark values as parameters.<dl>, <dt> and <dd> in the sanitizer.--bs-accordion-btn-focus-border-color and deprecate $accordion-button-focus-border-colorcolor-mode.jsdl, dt and dd in sanitizer.text-bg-{color} for all badgesgetOrCreateInstance() doc example.table-light from table foot exampledispose() to Offcanvas methodsshift-color() usage example in sass customization page.card-img-* description.theme-icon classabs() is deprecated since Dart Sass v1.65.0. It resulted in a deprecation warning when compiling Bootstrap with Dart Sass. This has been fixed internally by changing the values passed to the divide() function. The divide() function has not been fixed itself so that we can keep supporting node-sass cross-compatibility. In v6, this won't be an issue as we plan to drop support for node-sass.ids in a collapse target wasn't working anymore and has been fixed.<mark> color customization for color modes.box-shadow CSS variables shadow utilities$btn-link-focus-shadow-rgb to allow customization<mark> dark mode bg colorids callsdetails element.left- and .right- utilities from migration guide$gray-500 with $gray-300 for the body color.nav-links, providing .disabled and :disabled for use with anchors and buttonsHome and End keys for navigating tabs by keyboard.text-bg-* utilities now use CSS variables$navbar-dark-icon-color Sass variable$alert Sass variables$vr-border-width to customize the vertical rule helper width.text-bg-* helpers now use theme CSS variables$navbar-dark-icon-color$alert-*-scale Sass varsHome and End keys in tabsnoopener rel to footer external linksaria-disabled='true' to disabled anchorsaria-describedby.d-none instead of inline stylingclearfixHome and End keys in tabsaria-disabled='true' to disabled anchorscolor-modes.js to bootstrap-x.y.z-examples.zipcalc() functions.--bs-border-radius variables across more components..d-inline-grid utility class..tooltip-inner placement when using variations in fallbackPlacements.$color-mode-type: media-query.background-color to help with multiple lines of text in textareas. This also fixes the colors when form elements are disabled in floating forms.Full Changelog: https://github.com/twbs/bootstrap/compare/v5.3.0-alpha2...v5.3.0-alpha3
.nav-underline modifier class.nav-underline modifier class--bs-body-font-family. Keep quotes in the font stack.position: absolute for captions$prefix to the whole assets--bs-form-check-bg definition$color-mode-type is set to media-querycolor-scheme to dark root selectorproperty-blacklist to property-disallowed-list--bs-emphasis-color set valuescss/_maps.scss.highlight-toolbar def--bs-highlight-bg in scss/_root.scss.btn-clipboard and .btn-edit link hover color.bg-body-emphasis.link-body-emphasis helper_variables.scss--bs-body-bg-rgb declaration + reorder props$input-border-color variable.form-control in dark mode.*-text-emphasislist-style reset on .carousel-indicators*-text-emphasis CSS vars in Sass loop$grid-breakpoints SCSS unit tests initscss/_nav.scsscolor and border-color-moz-padding-start from .form-select$btn-close-focus-shadow definition$nav-link-disabled-color declaration--bs-focus-ring-box-shadow and add documentation for --bs-focus-ring-{x|y|blur}scss/_utilities.scss--bs-{color}-text was changed to --bs-{color}-text-emphasisimport inside bootstrap-gridoffcanvas keydown event logic with modalaria-labelledby in tab navigation.btn classcheck2 SVG iconfirstElementChild$prefix to the whole assetstwbs/bootstrap-npm-starter by twbs/examples/tree/main/icons-font.btn-*-dark from Button group docs to avoid issues in dark modetwbs/examples repo examples in the Examples pageid/aria-labelledby from accordion examples.highlight-toolbar def.btn-clipboard and .btn-edit link hover colorlist-group-item-variant() mixin.fw-medium utility class example.text-*-left changespopover to tooltip.text-muteddebug references from DocSearch v2.focused style--bs-focus-ring-box-shadow and add documentation for --bs-focus-ring-{x|y|blur}.text-muted deprecation messages.text-body-secondary appears two times in Utilities > Colorsbootstrap-social-logo.pngutilities/colors.mdhref and tabindex="-1"scss-docs: link enhancementscroll-margin-top instead padding and marginvar(--bs-emphasis-color)placeholder shortcode color and background params when 'img' markupv from docs-versions.ymlscss-docs unindent automatically the code inside shortcodeid/aria-labelledby from cheatsheet accordionstwbs/examples repo examples in the Examples pageposition: absolute for captionsaria-labelledby to associate form-text (helper) with input field when it contains mandatory info (e.g. data format)id/aria-labelledby from accordion examplesid/aria-labelledby from collapse unit testsaria-labelledby in tab navigation$grid-breakpoints SCSS unit tests init$grid-breakpoints SCSS unit tests initid/aria-labelledby from collapse unit testsdocs workflowUpdated numerous devDependencies: https://github.com/twbs/bootstrap/pulls?q=is%3Apr+label%3Adependencies+project%3Atwbs%2F13+is%3Aclosed
Full changelog: https://github.com/twbs/bootstrap/compare/v5.3.0-alpha1...v5.3.0-alpha2
getSelector() to handle weird IDs (#35565)border-radius utilitiesfont-weight-medium (500) / fw-mediumz-index utilities, .z-*.alert-link.btn-closeborder-radius utilitiesfont-weight-medium (500) / fw-medium$enable-important-utilities condition in colored linksz-index utilities, .z-*--bs-border-width for some componentsborder-width on inputgroup and buttongroup--bs-body-font-family; keep quotes in the font stack$prefix to the whole assets--bs-form-check-bg definitionlist-group-border-width variables$color-mode-type is set to media-querygetElementFromSelector & getSelectorFromElementexecute function, being able to handle argumentsgetSelector not to be exportedreplaceAll usage introduced in #35566Object.entries in more placesprefer-template rule<kbd><button> for dropdown/popover examples, explain preference over <a> for dropdowns, tweak collapse prosecheck2 SVG iconfirstElementChild$prefix to the whole assets<button> for dropdown/popover examples, explain preference over <a> for dropdowns, tweak collapse prosetranslate() direction.btn:hover from v5.2.1. We now explicitly target .btn-check styles instead.data attribute (will be removed again in v6)<h1> for all .modal-title instances in our docs$border-color in table-variant() mixintab.show().active class toggling of tabs within dropdownsz-index on .toast-container as opposed to individual .toasts that don't receive any other positioningtitle attribute on dynamically created elements.btn-check and undo :hover$border-color in table-variant mixin<h1> for all modal-title examples/usesview in GitHub links inside main<h1> for all modal-title examples/usescolor value to use the $accordion-button-color Sass variable instead of our color contrast functiontransparent default hover border color CSS variable for buttons to fix a visual regression.btn-link no longer has a gradient when $enable-gradients is set to truez-index values to ensure proper rendering of validated form fieldstext-align to ensure consistent stylingborder-radiuslist-group-item selectors to better support nested imports of Bootstrap's CSSborder-radius values inside pagination componentsselector, dynamic content, and disposed tooltips using titleoutline for docs code samples, buttons when :not(:focus-visible)$popover-header-color.text-centerz-index CSS variables..btn-link.form-checkbox -> .form-checkexamples/features page.outline for docs code samples, buttons when :not(:focus-visible)color-adjust with print-color-adjust in our Sass files as part of the Autoprefixer v10.4.6 issues. This should quiet the issues folks have seen from that dependency change. If you're using our distribution CSS files, like bootstrap.min.css, you may still see the warning.small and .small to compute to a whole pixel value (was 12.8px and now is 14px).role attributes.color-adjust with print-color-adjust by @AdrianCurtin in https://github.com/twbs/bootstrap/pull/36283role="group" from some split drop* buttons by @julien-deramond in https://github.com/twbs/bootstrap/pull/36254accessibility.md by @patrickhlauke in https://github.com/twbs/bootstrap/pull/36492Full Changelog: https://github.com/twbs/bootstrap/compare/v4.6.1...v4.6.2
smooth-scroll behaviorsmooth-scroll behavior.form-control-color sizing and styles.showingbtn-linkcustom-property-empty-line-before.table-group-divider border.dropdown-item border-radius when $dropdown-padding-y is 0readonly inputs as disabled--bs-headings-color CSS variable due to backward compatibility issues$text-muted default value.navbar-nav--bs-btn-disabled-border-color in button-outline-variant mixin$display-font-family and $display-font-stylesmooth-scroll behavior.show from panels dependent-less on the existence of .fade class.is-invalid from textarea validation exampleinterval=false from docs & testsdata-bs-title instead of titletype="button" to Bootstrap versions dropdowntype="button" to Bootstrap versions dropdownspyOn usage.form-check-reverse modifier classmake-col-ready(): remove the unused $gutter variablecolor and border-color CSS variables to tablesz-index on .navbar-expand .offcanvas and prevent box-shadow when collapseddata-bs-content.text-bg-{color} helpers.form-check-reverse modifier classdata-bs-contentisShown method.form-control-plaintext.form-check-reverse modifier classmake-col-ready(): remove the unused $gutter variablecolor and border-color CSS variables to tablescursor: default on disabled .form-check-labelmedia-breakpoint-onlyz-index on .navbar-expand .offcanvas and prevent box-shadow when collapseddirection in code elementsaccordion-item::file-selector-button:root CSS variable for $body-font-size$purplesborder-radius for btn-groupborder-width for <hr> sizegap utility API from "Flex" to "Spacing"!important property to colored links.list-group-item-action--bs-btn-padding by --bs-btn-padding-{x|y}.text-muted on body color$variable-prefix to $prefix$border-color to use rgba().navbar-light deprecationcalc() for manipulating new CSS variable version of border-width.dropstart[@include](https://github.com/include) font-size when not.navbar-navborder-color property instead of the CSS variable in border color utilities$input-disabled-color Sass variable$variable-prefix usagesborder-color change.text-bg-{color} helpersimports on plugins buildpinch eventssetContent additionESC buttonclassList callsdata-bs-content_getConfig()new Event with new CustomEventparents method to utilize newer JS native methodsisShown method<abbr> tagrole="search" and type="search" in navbar doc and examplesaria-label in the select examplealign-content-betweenparam to set Bootstrap version in Contents pagesticky-xxl utils<form>autocomplete attributes.navbar-light classes.bd-bg-purple-bright → .bd-bg-violet and drop unused .bd-text-purple-bright.dropup in dropup centered example.dropstart.border-right to .border-endrole="group" from some split drop* buttons[@popperjs](https://github.com/popperjs)/core in parcel.md.border-right rule from modal example CSS filerole="search" and type="search" in navbar doc and examples.rounded-* and .fw-semibold defs in examplesrole="search" and type="search" in navbar doc and examplesaccordion-itempinch eventsimports on plugins builddetails elementworkflow_dispatchdivide() function by @mdo in https://github.com/twbs/bootstrap/pull/34571moz-focusring by @kremit in https://github.com/twbs/bootstrap/pull/32821SAFE_URL_PATTERN regex for use with test method of regexes by @nikonthethird in https://github.com/twbs/bootstrap/pull/33153sms in the SAFE_URL_PATTERN for sanitizer by @XhmikosR in https://github.com/twbs/bootstrap/pull/35074select.form-control by @mdo in https://github.com/twbs/bootstrap/pull/33206add() & subtract() by @ffoodd in https://github.com/twbs/bootstrap/pull/34047add() and subtract() by @ffoodd in https://github.com/twbs/bootstrap/pull/34432aria-haspopup from dropdowns by @patrickhlauke in https://github.com/twbs/bootstrap/pull/33624.dropdown-item wrapped in <li> tags by @cpsievert in https://github.com/twbs/bootstrap/pull/33649vertical-align in spinners by @XhmikosR in https://github.com/twbs/bootstrap/pull/338070.x with negative margins in utilities by @k-utsumi in https://github.com/twbs/bootstrap/pull/33593thead rule by @coliff in https://github.com/twbs/bootstrap/pull/34426show event disabling modals with fade class from being displayed again by @alpadev in https://github.com/twbs/bootstrap/pull/34087align-self: center to buttons for improved rendering in flex containers"calc() functions that use negative numbers. This should restore the ability to import and compile Bootstrap's Sass in create-react-app.border-radius sizes to small and large .form-selectsalign-self: center to buttons for improved rendering in flex containerssms in the SAFE_URL_PATTERN.img-fluidrole="switch" to our form switches in our docsalign-self: center to buttons for improved rendering in flex containersborder-radius sizes to small and large .form-selectssms in the SAFE_URL_PATTERNrole="switch" to switches.img-fluid in docscontents.mdrole="switch" to switchesgeneratedCode: 'es2015'rgba-css-var function for body or bg$dropdown-link-hover-color variable color value in _variable.scss filebs-toggle, to hide other open instancesdata-bs-original-title issuedata-bs-original-title issue$enable-smooth-scroll to Sass options page.hstack example and placeholder 'How it works' example.Site.Params.docs_version variable.bg-* and .text-* utilities to use CSS variables and new RGB CSS variables for real-time customization.col-* classes to override .row-cols-* classes for now until we can fix some critical bugsdata-dismiss so that it can be outside of a modal using bs-target.hstack, .vstack, and .vrgetInstance method.hstack, .vstack, and .vradd() and subtract()$card-box-shadow variable$accordion-icon-color default value consistent with the $accordion-button-color.row-cols"$input-bg to use $body-bgdata-dismiss so that it can be outside of a modal using bs-targetManipulator.offset()display:none by defaultswitch statement instead of ifgetInstance methodSelector.findOne() dependencyUtil.reflow function and add documentationhr in v5_root.scss being requiredmedia-breakpoint-down breakpoints.text-white-50 CSS rule from Offcanvas Exampleaggregate-outputactions/setup-node's cache option.row-cols.form-selectadd() & subtract()--bs-table-bg and --bs-table-accent-bg.dropdown-menu-*line-height for floating labels<ul><li>/ division with multiplication and custom divide() functiondivide() function and RFSgetOrCreateInstance method in base-componentdispose/hide methods usage through jQueryIntrefacegetNextActiveElement helper functiondata-dismiss="modal" is setisVisible false positives from deep nesting or alternate meanselement.parentNode.removeChild(element) to element.remove()DOMContentLoaded event listener in onDOMContentLoadedquerySelectorAllBlinkMacSystemFont in docs<ul><li>sass:math module callsetActiveItem().modal-open to affect the <body> scroll.input-group shouldn't be behind sibling elementaccent-bg from leaking in nested table$list-group-color in loop:read-only selector back to [readonly]config property to start with underscoretransitionend listener callbacks into one methodDATA_KEY & EVENT_KEY to base-componentrootElement not initialized in ModalDATA_KEY & EVENT_KEY to base-componentoverflow value#32155: Updated make-col() mixin to generate equal columns when no size is specified
#32763: Added new color-scheme() mixin
#33389: Dropdown menus now have option become clickable
#33453: Added new docs footer
#33548: Offcanvas header components are now vertically aligned
#33549: Added offcanvas-top modifier
#33634: Added support for .dropdown-items wrapped in <li>s
#33626: Fix v5 regressions in tab dropdown functionality
color-scheme mixincolor-scheme mixin.nav-link color consistent when using buttons:read-only css selector instead [readonly] for consistencyborder-top on Firefoxhide method of dropdownisDisabled util on dropdownnoop functionselectMenuItem method private.dropdown-item wrapped in <li> tagsaltBoundary optionrel=noopener attributeboundary optionboundary optionboundary option descriptiondata-bs-backdrop="static" from modal tests.list-group-numbered variation to list groups that uses pseudo-elements for numbering list group items..nav-fill and .nav-justified.border-0 utility.browserslistrc to drop Android and add Safari/iOS 12 as the new minimum version (completing our two latest major releases guideline for supported browsers).ol.list-group with pseudo-element numbersborder-0ol.list-group with pseudo-element numbersselect:disabled opacity for Chrome.list-group-item colorisRTL to a functionisAnimated method.dropupSAFE_URL_PATTERN regex for use with test method of regexes.flip optiondisabled elementOffcanvas constructorshow method to accept relatedTarget as an argumentDATA_KEY--silent with --verbositypreventAssignment: trueUpdated numerous devDependencies https://github.com/twbs/bootstrap/pulls?q=is%3Apr+is%3Aclosed+label%3Adependencies+project%3Atwbs%2Fbootstrap%2F34
data-bs-popper="static" via JS to the .dropdown-menu when the trigger has add data-bs-display="static" and data-bs-popper="none" when in navbars..navbar-nav-scroll class to enable vertical scrolling when a collapsed navbar is opened. It's customizable via Sass and a CSS variable. Read more in the docs.flex-grow to the .navbar-collapse to restore the flexbox behaviors from v4 and prevent some content from being inadvertently squished.vertical-align from .form-select.form-selectword-break to .toast-body<button>s wherever possible instead of <a> elements.<button>s as indicators (from .carousel-indicators li to .carousel-indicators [data-bs-target])..dropdown-toggle instead of the .dropdown.data-bs-toggle="modal"..js file.getSelector from returning URLs as selector which caused errors in dropdown and scrollspy plugins..navbar-nav-scroll for vertical scrolling of navbar content.navbar-nav-scroll for vertical scrolling of navbar contentvertical-align from .form-select.form-select paddingvisually-hidden-focusable so it can be used on a container, ….ratio missing variable prefix.toast-bodyoutline:0 rather than outline:none$gray-500.form-check background to $input-bg and change transitionsflex-grow to .navbar-collapse.navbar-nav-scroll.accordion-button stays left-aligned.navbar-collapse behaves as intendedSelectorEngine.matches().TRANSITION_END from utilsif/elsefallbackPlacementsA nested tag is clickedTypeError instead of the generic ErrorgetSelector from returning URLs as selector.dropdown-toggle buttondata-bs-toggle="modal"fallbackPlacements from the dropdownpopperConfig option$carousel-transition-duration reference(current) textfallbackPlacementssystem-ui to the native font stack documentation:focus, not just :hoverhas-validation in checkout examplespointer-events: none override for tooltip and popover disabled buttons.form-group classnav-linkdata-bs-touch="false" example in the carousel docs$enable-shadows option in our docs.rounded-sm/lg utilities.form-text changes$enable-deprecation-messages(current) text.nav-item to .nav-linkversion_short variable under the config object14customClass option..navbar-nav-scroll class for scrolling expanded navbar contents on mobile devices.prefers-reduced-motion is enabled.background-color of .dropdown-item for improved hover state contrast, and ligthened the disabled .dropdown-item color..navbar-nav-scroll for vertical scrolling of navbar contentoutline:0 rather than outline:none; backport of #32751$gray-500customClass optionjs/src/index.js one folder upconfig.keyboard is falsebugreport.apple.com since it doesn't work.visually-hiddenloading=lazy from snippets.text-left in Layout / Overview:focus, not just :hoverdata-touch="false" example in the carousel docsrole="button" from CTA links in carousel example.show applied.has-validation for input groups with validation$enable-shadows option in our docs; backport of #32685titleversion_short variable under the config object; backport of #32737⚠ Please check our migration guide for more info!
.btn in vertical button groupmake-container()scale-color() function to shift-color()$variable-prefixaria-label for tooltips_fixTitle().close instancesconfig.keyboard is falseshow config option from the modal plugin.has-validation class for input group exampleexpanded Sass output style for development.btn-block instances.show appliedtitleevent instead of ealt attributeevent instead of earia-label for tooltipsFORCE_COLOR:2css-prefix-examples-rtl scriptHow can I help you explore Laravel packages today?