Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here

bootstrap

The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web.

Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star half bd79095782ee4930099175e5ce7f4c89fa3ddabcd56fffcc7c74f6f2a2d46b27 (1 ratings)
Rated 4.5 out of 5
Subscribe to updates I use bootstrap


Statistics on bootstrap

Number of watchers on Github 142923
Number of open issues 413
Average time to close an issue about 15 hours
Main language CSS
Average time to merge a PR 1 day
Open pull requests 464+
Closed pull requests 343+
Last commit 21 days ago
Repo Created about 9 years ago
Repo Last Updated 15 days ago
Size 157 MB
Homepage https://getbootst...
Organization / Authortwbs
Latest Releasev4.5.0
Contributors421
Page Updated
Do you use bootstrap? Leave a review!
View open issues (413)
View bootstrap activity
View on github
Fresh, new opensource launches πŸš€πŸš€πŸš€
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating bootstrap for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Bootstrap logo

Bootstrap

Sleek, intuitive, and powerful front-end framework for faster and easier web development.
Explore Bootstrap docs

Report bug Request feature Themes Blog

Bootstrap 4

Our default branch is for development of our upcoming Bootstrap 5 release. Head to the v4-dev branch to view the readme, documentation, and source code for Bootstrap 4.

Table of contents

Quick start

Several quick start options are available:

  • Download the latest release
  • Clone the repo: git clone https://github.com/twbs/bootstrap.git
  • Install with npm: npm install bootstrap@next
  • Install with yarn: yarn add bootstrap@next
  • Install with Composer: composer require twbs/bootstrap:5.0.0
  • Install with NuGet: CSS: Install-Package bootstrap Sass: Install-Package bootstrap.sass

Read the Getting started page for information on the framework contents, templates and examples, and more.

Status

Slack Build Status npm version Gem version Meteor Atmosphere Packagist Prerelease NuGet peerDependencies Status devDependency Status Coverage Status CSS gzip size JS gzip size BrowserStack Status Backers on Open Collective Sponsors on Open Collective

What's included

Within the download you'll find the following directories and files, logically grouping common assets and providing both compiled and minified variations. You'll see something like this:

bootstrap/
 dist/
     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-utilities.css
        bootstrap-utilities.css.map
        bootstrap-utilities.min.css
        bootstrap-utilities.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.esm.js
         bootstrap.esm.js.map
         bootstrap.esm.min.js
         bootstrap.esm.min.js.map
         bootstrap.js
         bootstrap.js.map
         bootstrap.min.js
         bootstrap.min.js.map

We provide compiled CSS and JS (bootstrap.*), as well as compiled and minified CSS and JS (bootstrap.min.*). source maps (bootstrap.*.map) are available for use with certain browsers' developer tools. Bundled JS files (bootstrap.bundle.js and minified bootstrap.bundle.min.js) include Popper.

Bugs and feature requests

Have a bug or a feature request? Please first read the issue guidelines and search for existing and closed issues. If your problem or idea is not addressed yet, please open a new issue.

Documentation

Bootstrap's documentation, included in this repo in the root directory, is built with Hugo and publicly hosted on GitHub Pages at https://v5.getbootstrap.com/. The docs may also be run locally.

Documentation search is powered by Algolia's DocSearch. Working on our search? Be sure to set debug: true in site/assets/js/src/search.js file.

Running documentation locally

  1. Run npm install to install the Node.js dependencies, including Hugo (the site builder).
  2. Run npm run test (or a specific npm script) to rebuild distributed CSS and JavaScript files, as well as our docs assets.
  3. From the root /bootstrap directory, run npm run docs-serve in the command line.
  4. Open http://localhost:9001/ in your browser, and voil.

Learn more about using Hugo by reading its documentation.

Documentation for previous releases

You can find all our previous releases docs on https://v5.getbootstrap.com/docs/versions/.

Previous releases and their documentation are also available for download.

Contributing

Please read through our contributing guidelines. Included are directions for opening issues, coding standards, and notes on development.

Moreover, if your pull request contains JavaScript patches or features, you must include relevant unit tests. All HTML and CSS should conform to the Code Guide, maintained by Mark Otto.

Editor preferences are available in the editor config for easy use in common text editors. Read more and download plugins at https://editorconfig.org/.

Community

Get updates on Bootstrap's development and chat with the project maintainers and community members.

  • Follow @getbootstrap on Twitter.
  • Read and subscribe to The Official Bootstrap Blog.
  • Join the official Slack room.
  • Chat with fellow Bootstrappers in IRC. On the irc.freenode.net server, in the ##bootstrap channel.
  • Implementation help may be found at Stack Overflow (tagged bootstrap-5).
  • Developers should use the keyword bootstrap on packages which modify or add to the functionality of Bootstrap when distributing through npm or similar delivery mechanisms for maximum discoverability.

Versioning

For transparency into our release cycle and in striving to maintain backward compatibility, Bootstrap is maintained under the Semantic Versioning guidelines. Sometimes we screw up, but we adhere to those rules whenever possible.

See the Releases section of our GitHub project for changelogs for each release version of Bootstrap. Release announcement posts on the official Bootstrap blog contain summaries of the most noteworthy changes made in each release.

Creators

Mark Otto

Jacob Thornton

Thanks

BrowserStack Logo

Thanks to BrowserStack for providing the infrastructure that allows us to test in real browsers!

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

OC sponsor 0 OC sponsor 1 OC sponsor 2 OC sponsor 3 OC sponsor 4 OC sponsor 5 OC sponsor 6 OC sponsor 7 OC sponsor 8 OC sponsor 9

Backers

Thank you to all our backers! [Become a backer]

Backers

Copyright and license

Code and documentation copyright 20112020 the Bootstrap Authors and Twitter, Inc. Code released under the MIT License. Docs released under Creative Commons.

bootstrap open issues Ask a question     (View All Issues)
  • over 3 years Class .custom-controls-stacked should clear floats
  • over 3 years Replace hardcoded breakpoints in Card, Carousel, Forms, Jumbotron, Modal, and Navbar
  • over 3 years Documentation nitpick
  • over 3 years Disabled collapse-link when document.ready
  • over 3 years Adding a tag (badge) in a button makes it taller
  • over 3 years Invisible border of input-group in inverse navbar
  • over 3 years Select text bad misaligned in Firefox with alpha 5
  • over 3 years pagination .page-link is underlined on hover
  • over 3 years Printing broken in IE11 and Firefox
  • over 3 years Buttons in container with data-toggle="buttons" don't get aria-pressed attribute
  • almost 4 years .nav-link has padding when navbar is collapsed
  • almost 4 years Modal title padding named wrong
  • almost 4 years Collapse prevents radio button update
  • almost 4 years carousel example is still using img-circle
  • almost 4 years I'd like to be able to set .card margin-bottom indepedently of .card-header padding
  • almost 4 years Provide a link to _variables.scss on website.
  • almost 4 years Expand arrow gone from summary element
  • almost 4 years Update grid classes to omit `xs` abbreviation
  • almost 4 years ScrollSpy clears active nav-item on Safari when rubber-band scrolling past the top of page
  • almost 4 years Column Count not working on alpha 5
  • almost 4 years line-height is not specified for page-links
  • almost 4 years Better hover/active customization in button mixin
  • almost 4 years Responsive utility classes overlapping near breakpoint (ref: #20902)
  • almost 4 years Support <script defer>
  • almost 4 years Cannot read property 'offsetWidth' of undefined
  • almost 4 years Follow up #20982 w/ active/open nav fixes
  • almost 4 years popover 'Auto left' / 'Auto right' placement bug latest Chrome (Version 54.0.2840.71 (64-bit))
  • almost 4 years v4 alpha 5 - navbar toggler inconsistencies
  • almost 4 years Input-group within card-deck
  • almost 4 years table-inverse : need a variable for hover, accent, active state
bootstrap open pull requests (View All Pulls)
  • Forms fixes: fieldset/legend, new .form-control-legend, accessibility advice
  • Update grunt-eslint.
  • Port v4 browser support tables to v3
  • Add $card-img-overlay-padding variable
  • .navbar-divider width: 1px=>$border-width
  • Extract $carousel-icon-width variable
  • Add `.w-100` as width: 100% utility class
  • Update Brazilian Portuguese translation's URL
  • v4: Forms cleanup
  • Fix #18406. Fixes form-inline with flex enabled
  • Use bootstrap-toc plugin for sidebar navigation in docs
  • Integrate postcss-flexbugs-fixes into build
  • Prevent double border on list-group in cards with no .card-block.
  • Carousel - Do not prevent on keydown for input and textarea
  • Mention contributors in License
  • Have same margin for <hN> as a <div> on .card-headers
  • Navbar improvements: dropdown support, margin/padding variables for navbar items, calculated spacer for body for fixed navbars
  • Tweak jQuery-not-found error message to mention required ordering
  • Add variables for popover
  • .input-group-addon line-height should be the same as .form-control
  • Flexbox enable list-group
  • Flexbox enable navbar
  • Add responsive clearfix utility classes
  • Tweak jQuery-not-found error message to mention required ordering
  • Port #18878 to v3
  • Fixed moved active class to a-tags. dashboard need fix.
  • Stop oversized images in .card-img-* from overflowing the card's boundaries
  • Update jQuery to 1.12.0
  • Added mobile toggles for responsive nav
  • Button toggling - trigger change event on input
  • Enabled ESLint and JSCS in Hound
  • Added explicit commentary to .card-* classes
  • Extended collapse panel example description.
  • remove empty sass if directives
  • CONTRIBUTING.md: Prohibit "+1" comments in favor of reactions
  • Add custom range styles
  • Explicitly state the ordering of cards in card columns in the docs
  • create mixin for .form-inline
  • Add jQuery and Tether to npm dependencies
  • Remove iOS virtual keyboard bug section from docs
  • Add variables for controlling button active/hover darken amount
  • Changed documentation for disabling the carousel pause functionality.
  • Updated documentation of the focus option from the modal component.
  • Update jQuery to v2.2.1.
  • Minor grammar improvements
  • Override margins and paddings on navbar-brand elements
  • Optimizes bootstrap dropdown
  • Add font colors to contextual table variants
  • Add $input-bg-focus and $input-color-focus variables
  • Remove unnecessary coupling and increased specificity in carousel
  • Add text-justify to responsive alignment classes
  • Added support for RTL
  • Warn if minimum width of smallest breakpoint != 0
  • Add positions utilities class
  • Show clearfix for examples for xs/sm devices
  • FIX: Part of Popover is outside boundaries of viewport
  • Correct dropdown examples
  • Suppress IE/Edge additional white/blue colors for focused <select>
  • Remove tab-focus mixin and add surgical `outline: none` where appropriate
  • Add GitHub issue template
  • Color contrast tweaks for V4
  • Dropdown tether
  • Use @border-radius and add $nav-tabs-border-radius variable
  • fix memory leak in tooltip $element
  • Update to normalize.css v4.0.0
  • more complete explanation of npm based use
  • Docs : Removed border from GitHub button
  • Fix issue #19270 (popovers and modals)
  • include jquery + tether deps for npm package. include gulp. Add .babe…
  • Add missing mix-col-span mixin
  • Add tooltip border color and width variables
  • Use $card-border-radius-inner for card-img border-radius
  • Update tooltip.js
  • Updated background properties using safe shorthands.
  • Update overview.md
  • Add dropdown classes for contextual background colors
  • Suggest alternative approaches for .hidden and .show in migration docs
  • Collapse plugin not finding trigger when targeting a class or multipl…
  • Fixed error of Tether getting destroy call second time (Tether 1.3.1)
  • Fix .input-group-btn overflowing its parent when Flexbox is enabled
  • remove references to $gray-* outside _variables.scss
  • Add contextual backgrounds for .table-inverse
  • Add @supports feature query for Carousel CSS 3D transforms
  • Darken middle border of certain split button dropdowns
  • Fix .embed-responsive class in flex container
  • Add disabled styling for .custom-select
  • Fix .embed-responsive class in flex container
  • use HTTPS
  • Strikethrough-when-checked and remove-when-checked checkboxes
  • Upgrade to babel 6.0
  • Tests: Switch from .then to .done to get synchronous operation
  • Fix: border removal affecting child tables
  • Update jQuery to v2.2.3.
  • Update jQuery to v1.12.3.
  • Remove reference to "loaded.bs.modal" event
  • v4: Navbar improvements
  • Alphabetized carousel options & added "ride" to it
  • Fix width scrolling problem with .card-deck
  • Dropdown: remove dependency to role="menu", role="listbox" a and li elements => fix keyboard navigation
  • added text-gray-dark class
  • fix the offcanvas example
  • Recursive copy of fonts
  • Fix heights of `<select>` elements to match `<inputs>` when using `.form-control`
  • Removal of unsupported vendor prefixes for @viewport
  • Dropdown perf - on keyboard nav, search for active item in the current dropdown rather than the whole document
  • Add support for contenteditable elements in Dropdowns -- Addresses: #19949
  • Remove forced default focus outline
  • Reset CSS position property when unpinning Affix
  • Add .h-100 (height:100%) utility class
  • Add new extra large size (.modal-xl) for .modal-dialog
  • Fix issue #16941 - HTML example in tooltip docs
  • Zero out the default margin-bottom on label.custom-file
  • Fix incorrect .row-margin when using odd gutter size
  • Made input[type="color"] squared instead of blocking across
  • Re-use 'between' mixin for 'only' mixin
  • add mixin/custom.scss file to be able to overide easily bootstrap mixins
  • Multiple data-targets for collapse plugin
  • Add media rules to nav items into toggleable navbar
  • Docs: Add link to Korean translation
  • Fixing bug described here: Multiple Tabs can become .active at once #20027
  • Custom Forms: Allow Chrome/Firefox feature that lets the user drag and drop into file inputs
  • alert.js: Avoid calling jQuery('#'), it's a syntax error in jQuery 3.0
  • Fix using which for MouseEvent in Dropdown
  • Dropdown: close menu when focusing outside element
  • Add .flex-*-unordered classes to reset Flexbox `order` CSS property
  • Add Wall of Browser Bugs entries for <dialog>
  • do not show tab when disabled
  • Fix modal being too wide on small devices
  • custom-control spacing
  • Update _navbar.scss
  • Updated documentation for #20123 (#20142)
  • Contextual background-inverse text color fix
  • Made modal.dispose work at any point in modal's lifecycle, prevented crashes if multiple modals are alive
  • Abbreviate CSS hex colors in pygments-manni.css
  • Only fix grid column collapsing when the column is empty
  • Add .col and .row-* classes to support flex-direction: column. Issue #20233
  • v4 hamburger icon fix
  • Docs: Optimize *.png with zopflipng -m
  • input[type="radio"] don't border-radius:0;
  • Add some properties to the list of property order in .scss-lint.yml
  • background-variant button hover
  • Fix small grammatical mistakes
  • Add "number" to popover content DefaultType
  • fix too many siblings activation in scrollspy
  • Switch to jQuery slim version.
  • .collapsing.width animation
  • Change broad helper to specific helper (a tiny docs edit)
  • Added breakpoint classes for margin and padding spacing
  • .form-control:focus customization
  • Fix dropdown example in docs (Fix #20410)
  • Upgrade to normalize.css v4.2.0.
  • Updated example screenshots
  • v4 - production's files for browsers (bower.json)
  • bower.json: Add Bowerder's `browser` field for minified JS & CSS
  • Resolves error preventing the dropdowns from working in the docs
  • Switch to `stylelint-config-bootstrap`
  • Updates .list-group-flush to not create a double border when placed inside a .card
  • Fix package.json
  • Update _navbar.scss to fix navbar items in wrong position when in state "collapse in", with any navbar-toggleable-*
  • Renames .img-rounded to .rounded
  • Fixes popover.js dynamically set title not displaying when previously hidden
  • v4: Move to npm scripts
  • V4 hamburger fix2
  • scrollspy: fix wrong activation of all nested links
  • More responsive text alignment utility classes
  • Update doc assets
  • Advanced truncate mixin with ability to determine width and text-wrap
  • Use more https URLs
  • Move Sauce credentials out of .travis.yml
  • V4: Add old .hidden-* classes to visibility utilities
  • Added information about the .panel-group class
  • Renamed contextual classes for tables
  • Popover inside modal
  • Fix segmented buttons in input group docs
  • Fix mixed-content warnings caused by CarbonAds.
  • Updated docs with extra auto resize example
  • Use .attr() instead of .prop() to get attribute
  • Add auto to `m-` spacer utility
  • add support for ol in tab plugin
  • adds a .custom-select-lg and makes .custom-select-sm use proper vars
  • update click state when hiding so can be shown again by trigger
  • prevent navigating to area href when modal target
  • Use card-spacer-y for vertical padding
  • Make .card class inside .card-columns display: block too
  • Fix Hound warnings for minified files.
  • Visibility mixin
  • Move Travis builds to container-based infrastructure.
  • Fix issue select[multiple] overflowing container
  • Fixed incorrect instructions: "Press ⌘ to copy"
  • Remove unused $variables in grid mixins
  • Use :*-of-type instead of :*-child so that <template>s don't break selectors
  • Change Scrollspy to add active class to nav item, nav link's parent
  • remove unnecessary loop
  • Update js docs overview blurb about accessing a plugin instance
  • Documentation link cleanup
  • Update documentation and test dependencies.
  • v4: Social meta tags
  • Prevent margin-bottom on vertical button groups
  • Update print styles borrowed from h5bp
  • Fixed progress bar color variables
  • Strip $ from copied shell commands.
  • Remove -webkit-overflow-scrolling:touch; due to an iOS Safari bug
  • [Fix #19849] Tabs are opened even if disabled.
  • Fix multi select box overflow
  • Make equal-width flexbox extend grid-column
  • Fix Collapse JS class not respecting the configured parent element
  • Fix #20566
  • v4.4 - Missing clearfix on docs for responsive navbar
  • Refs #17201: Use Tether as a non-window global variable, last try
  • Remove hard-coded value in button-outline-variant
  • Add container to tooltip options
  • v4: Dropdown units
  • v4: Customizable colors on custom form elements
  • v4: Document that all table styles are inherited
  • v4: Move Reboot's input border-radius override to .form-control
  • v4: The Utilities Update
  • Fix #20548
  • Use color variables consistently
  • Use .attr() method and cache array length
  • Remove classes at one time
  • Fixes 20614
  • Use multi-selector to remove the same event handler
  • Update _buttons.scss
  • Update _reboot.scss
  • Carousel: Only prevents default for ARROW_LEFT and ARROW_RIGHT keys
  • Remove borders on the top and/or bottom when .list-group-flush is the first and/or last child
  • Revert "Fix unescaped `#` in SVG data URLs"
  • switch to rgba for list-group border color
  • Added note about async tooltip('destroy')
  • Add alert-margin-bottom variable
  • Linked to slack
  • Closes #21055: Prevents ScrollSpy from clearing item when Safari rubberbands
  • Set line-height for page-links
  • Rename `.active` to `.show`
  • Refactor ESLint configuration.
  • Fix #20936 make inline checkbox/radio markup same as stacked
  • Change .tag print styles to .badge.
  • Update visual tests.
  • renamed modal-title-padding to modal-header-padding
  • Base text direction support for Bootstrap v4 JS widgets
  • Enlarges the clicking area for the alert close button
  • Made the background of the card header and footer transparent when .card-inverse'd
  • Left/right padding to modal on sm resolutions
  • Travis build infrastructure refresh.
  • Close #21090 - Fix aria-pressed attribute for buttons in container with data-attribute="buttons"
  • Feature/omit xs from grid
  • v4 - Add methods for determining if elements are shown, visible, expanded
  • in carousel example, replace img-circle by rounded-circle css class
  • Suppress spacebar keyup for dropdowns
  • Invalid visible items selector for dropdowns prevents arrow keys from working
  • Added responsive text sizing classes
  • Made input[type="color"] square instead of rectangular
  • resolved textual utility classes broken link
  • Add lint check that all variables are !default
  • Refactor Dashboard example.
  • Update Normalize to v5.0.0.
  • Remove extra media queries for setting gutters
  • Added $card-cap-color variable in .card-header and .card-footer
  • minor update to the .card-img class
  • Change scope of docs anchor preventDefault to include modals.
  • Accordion behavior with JQuery interface
  • Fix container with in navbar on smallest breakpoint
  • Harmonize navbar-brand, navbar-text and nav-link height
  • Make btn-block responsive
  • Navbar: break at correct viewport width and give option to be collapsed at no or all breakpoints
  • fix segmented buttons
  • JS Mangle private properties => reduce minified JS by 11.9% (4.8% gzipped)
  • JS constant rework => reduce minified JS by 7.5% (6.3% gzipped)
  • Carousel: fix reference to non-existing constant
  • Spacer vars with a more consistent doubling up pattern
  • Use existing key code constants in dropdown
  • Remove broken links
  • Add script to check for broken links in docs
  • Collapse module supports multi-target
  • Enhancement: btn-pill
  • css: table as block issues (corresponding to #21677)
  • Update tables.md
  • Table hover, accent, active variables for both table and table-inverse
  • Add doc example with badge links
  • Add alert divider (<hr>) example in docs
  • Allow customization of colors, background and shadow for active, hover, focus
  • Carousel - Add attributes from and to for Slid and Slide events
  • Use correct value for xs and sm breakpoints in documentation
  • Use native font stack for button, input, select and textarea
  • Remove reliance on regex in Util.getSelectorFromElement
  • Remove list-group-item-heading and list-group-item-text
  • Remove filter: alpha(opacity = 0);
  • v4: Remove focus styles from anchors in Reboot
  • Redefine grayscale variables
  • Use correct classes for `order` flexbox docs.
  • Remove unnecessary position and padding for alert close button
  • Fix image in <figure> can exceeds container width on Firefox
  • Creating a pull request for v4-dev and v4-dev-xmr
  • Support multiple targets for tabs
  • Fix Modal documentation about _handleUpdate method + move to public scope
  • fix distorted card images
  • Update tooltip.js getPosition()
  • Tabs/Scrollspy/.nav/.list-group/.active independent of markup (<nav>, .nav-item, <li> etc...)
  • Dropdown: refine handling of keydown in input and textarea
  • Fix padding with modal and fixed navbar
  • Prevent images in carousel-item to be stretched
  • HTMLElement.offset* by getBoundingClientRect()
  • Improve build tool to make it easier to maintain and more pleasant to use
  • numeric strings raise typecheck exception in tooltips
  • Fix .jumbotron-hr to .jumbotron hr
  • Allow to use Tab.js with list-group
  • Fix JS components console error "Error: <Component> is transitioning"
  • Use cssnano instead of clean-css => reduce minified CSS by 8.6% (4.9% gzipped)
  • Navbar: avoid double margin on toggle when positioned on the right within a container
  • Fix mixin media-breakpoint-only
  • Emoji Defaults
  • Rename `$navbar-*-toggler-bg` to `$navbar-*-toggler-icon-bg` since it's placed on .navbar-toggler-icon
  • Input-group inside d-flex with a tall item causes input and input-group-addon to be too tall
  • v4 Color update
  • `@mixin pagination-size()` doesn't apply line-height
  • Removed several unused scss variables
  • Rename .form-control-static to .form-control-readonly-plain
  • Pagination border-widths greater than 1px cause uneven borders betwee…
  • Nav Pills with open dropdown don't reflect the nav-pills active state…
  • Add responsive headings
  • First child of input group segmented buttons are off by $input-btn-border-width
  • Only add CSS transitions on Buttons for background-color, border-colo…
  • `$input-height` and `$input-height-*` should include borders, no need to calculate select.form-control heights, and calculate form validation icon sizes
  • v4 - Remove Tether for Popper
  • add webpack to documentation
  • Update nav and navbar HTML markup
  • Form tweaks
  • #20925 [Chrome] Cards inside .card-columns stack differently
  • Note about hiding tooltips/popovers. Closes #21490
  • docs - accessibility - add a main tag for content
  • Form validation tweaks
  • Updates docs to match Tooltip type checking
  • fix tooltips margins
  • Add border width to input height variables
  • Enhance Positioning Options for Tooltips & Popovers
  • Add missing flex-fill utility
  • Adding zoom callout for .form-control-sm
  • Translucent .input-group-addon borders
  • Use class name variables in selectors
  • Add `docs-clean` task to watch scripts
  • fix(css): .dropdown-menu-right positioning
  • Add pointer-events declarations to modal for easier custom close handling
  • Progress bars: center labels vertically and set height on parent .progress
  • Ensure that button.btn and a.btn have the same cursor
  • Sync code shown with code actually used
  • Make anchors in .thead-inverse elements white
  • Fix 22616 - Modal close button without title is left aligned
  • Fix border on input group elements and custom form inputs
  • Move the gap between inline checkboxes to right
  • Update Dependencies (REUPLOAD)
  • Busy sliding event
  • Form states: set form-control state based on form-group and handle sm and lg size
  • add Micon
  • Removed menu item from navbar example
  • Example Blog post card text overflowing bug
  • Override .custom-select width in .form-inline
  • Dropdown. Skip element disabled via attribute when using keyboard navigation
  • Add basic position to dropup/right/left and dropdown-menu-right
  • Button group refactoring and fixes similar as #25279
  • Allow to customize vertical margin of `nav-divider` mixin
  • Extend `$grid-breakpoints` and `$container-max-widths` maps
  • Fix tab.js Problem
  • Pagination move `.page-link:focus` outline value to variable `$pagina…
  • Input group CSS bug fixes
  • Input group tests and tweaks
  • Explictly add `cursor:pointer` to dropdown menu items
  • use bugify without custom jekyll plugin
  • use callout without custom jekyll plugin
  • A better `.navbar` align and a small optimization
  • Remove `position: relative` from grid columns
  • Prevent word-wrap
  • feat: improvements of `.navbar-expand .dropdown-menu`
  • Fix carousel transition duration
  • Update `.sr-only` mixin and utility
  • Card tables
  • Add pure css button (group) toggle
  • Updates the native and custom checks to use flexbox
  • Allow to use Tooltips/Popovers in Shadow DOM
  • Docs: mark up contents ASCII trees as semantically meaningful nested lists
  • Expand all docs sidebar links
  • Enable wrapping for elements in modal-footer
  • Linked card
  • Update themeing docs for more clearly how to remove from map
  • Allow non-string content as breadcrumb divider
  • Changing color of the .primary-button
  • Variable darken percentage for emphasized links
  • add missing properties
  • Remove `show` class from example code
  • set color to form-control-plaintext
  • use $input-bg for $custom-select-bg
  • Create a variable for label margin bottom
  • Make dark tables readable for print
  • Ensure modal scrolling is contained
  • Added Viewport Height & Width helpers
  • Brush up vertical rhythm of form-check in docs. Closes #25546
  • Separate issue templates, add support doc
  • Clean shell scripts
  • Adding a variable to handle the change of a modals border-radius.
  • Clarify the necessary `data-target`/`href` attribute for carousel controls
  • Fix one-by-one flush lists items borders
  • Update list-group-flush top/bottom item border setting
  • Add color value to table-row-variant mixin
  • Multiple form-controls in input-group
  • Remove loose HEX values
  • Remove unused variable
  • Fixes examples issue #25664 and #25388
  • Variable transition durations
  • Replace img-fluid by w-100 in Carousel docs to conform with HTML example
  • modal input autofocus attr & keyboard nav
  • Disable link functionality on disabled btn-link
  • Making use of `prefers-reduced-motion` media query
  • create responsive containers
  • Fix `custom-forms` heights and position
  • Consolidate cursor resets in Reboot
  • Fix #25813 by adding extra columns to table
  • wip feat(css): adds `.card-bg`
  • Add Sinon to do better unit test
  • Allow customization of breadcrumb border radius
  • Collapse with flex elements - simple approach
  • enables docsearch in development env
  • use example without custom jekyll plugin
  • Add touch support on our carousel with Hammer
  • Add box-shadow utilities
  • fix(table): Add border color relative to theme for accessibility
  • re-use gray for bd-example border / background
  • Fixes validation tooltip position on inline forms
  • fix(js): removes .modal .navbar-toggler margin
  • Allow background images for active buttons
  • Improve order utilities doc
  • Fix incorrect class .custom-file-control to .custom-file-label
  • `.input-group-text` vars
  • Fix nested calc
  • Fixes examples issue #25684
  • Fix caret alignment
  • docs: add info on modifying and adding utilities
  • Keep rounded corners for the first .btn in vertical button group
  • docs: mention our bundle file clearly.
  • V4: switch to xo
  • Update to Ruby 2.7/Bundler 2.x.
  • V4 dev backport and updates
  • Add side modals
  • Extra position utilities
  • Switch to Brotli
  • v5: Updated About and Brand pages
  • Add Hugo Pipes logic for local and vendored scripts.
  • RTLCSS: start to rename using logical names
  • Fixed typo in docs v5 (Utilities/API) page
  • Add fix for popovers do not dismiss on next click inside
  • Docs: Fix vertical align link
  • use only data target to query elements in our plugin
  • move to popperjs v2
  • Docs: (subjectively) nicer looking accordion example
  • Add padding to badges
  • v5: Adjust docs sidebar and navbar
  • Release Drafter tweaks
  • fix tooltip hide method when already hidden
  • Update docs example on how to optimize JavaScript bundle
  • Update .rounded utilities
  • Modernize caret
  • Docs: change sidebar collapse controls to actual button elements
  • input-file: create a plugin
  • Docs: Add top/bottom margin to highlighted code samples
  • Add .rotate-* utilities
  • Feature z-indez level - utils
bootstrap questions on Stackoverflow (View All Questions)
  • Parsley JS always returns false on Valid Form in Bootstrap Modal
  • Bootstrap Modal Confirmation
  • Angular ui bootstrap focus first invalid tab on submit
  • How to set position of bootstrap slider images to center?
  • changing data-target in bootstrap using CSS(first preference) or javascript(secnd preference)
  • Bootstrap 3 .img-responsive images are not responsive inside fieldset in FireFox
  • Bootstrap: display a tooltip in a different column
  • Can some one shed some light on how to redirect an action controller to a specific bootstrap tab
  • TypeError: $(...).modal is not a function with bootstrap Modal
  • Line up a form_for button in a bootstrap btn-group in rails
  • bootstrap not working with chrome (firefox and ie work fine)
  • How to make modal dialog open at page load in bootstrap
  • How to use Bootstrap CDN?
  • Disallow twitter bootstrap modal window from closing
  • How to close Bootstrap modal only when user clicks on close image?
  • How to properly render dc.js datatable using jquery and Bootstrap
  • Select2 4.0.0 Bootstrap theme
  • Why bootstrap is not loaded in django admin
  • Bootstrap column with sub grid?
  • Bootstrap wysiwyg not able to add hyperlinks in IE 10 & IE 11
  • How to use "change event" in bootstrap-wysiwyg?
  • bootstrap-wysiwyg loses focus
  • Bootstrap 3 - NavBar Cross-browser issue
  • Bootstrap tab validation not working
  • I rotated some text in bootstrap, and now it is stuck an inch from the left onscreen
  • Add Bootstrap Tooltip when Bootstrap Switch is Disabled
  • Bootstrap Collapse menu not collapsing?
  • Will_paginate gem conflicts with Bootstrap built in panel
  • Bootstrap - select and button next to each other
  • Bootstrap responsive video but with max-width AND centered
bootstrap list of languages used
bootstrap latest release notes

The first Bootstrap 5 alpha has landed!

Highlights

  • New interaction utilities. Quickly set user-select with the new utilities and Sass map.
  • New Reboot style for pointer cursors. We now include a role="button" selector in Reboot to set cursor: pointer on non-<button> element buttons.
  • Examples are now downloadable. We've added a script to zip up and offer all our Examples as their own download from the docs.
  • Saved ~5% from the compressed minified JS builds.
  • Added guidance to our docs for how to work around our longstanding input group rounded corner bug.
  • Redesigned docs homepage and navbar to increment us towards v5's new docs design.
  • Deprecated bg-gradient-variant mixin as it's being removed in v5.
  • Updated to jQuery v3.5.1, Jekyll v4, and dropped Node.js < 10 for development.

CSS

  • #29413: Prevent vertical offset on progress bar in IE11
  • #29745: Add display: flex on .breadcrumb-item
  • #29819: Allow percentages in container widths
  • #29857: Escape brackets
  • #29946: Added new variable for padding on dropdown header
  • #30004: Fixes disabled .btn cursor
  • #30036: Added focus state to .btn-link
  • #30043: Fix IE auto-size input-group to column
  • #30049: Prevent grid with default cols from breaking when large pre is present by setting min-width: 0
  • #30074: Use word-wrap in .text-break for IE and Edge compatibility
  • #30166: Avoid border-radius functions returning negative values
  • #30183: Remove unnecessary reduce motion when $enable-transition: false
  • #30244: Fix centered modal scrolling issue
  • #30262: Prevent link underline change from affecting some components
  • #30361: Remove appearance from date inputs
  • #30391: Prevent redundant transition: none intransition()` mixin
  • #30497: Fix card list group borders & radii
  • #30504: Fix spinner-grow animation in Safari
  • #30515: Add .card-footer color
  • #30555, #30512, #30480: Use box-shadow mixin for .form-select, .btn, and other form controls
  • #30562: Added new interaction utilities for user-select and a new - role="button" in Reboot to set cursor: pointer.
  • #30582: Delete unnecessary appearance: none from button.close
  • #30594: Deprecate bg-gradient-variant mixin
  • #30605, #30606: Grid now checks for for $grid-columns > 0
  • #30609: Checks for an empty $grid-breakpoints map list to remove all breakpoints
  • #30660: Prevent list group style leaks
  • #30685: Disable auto-hiding scrollbar in IE and legacy Edge

JavaScript

  • #29986: Close modal with keyboard=true & backdrop=static
  • #29968: sanitizer.js: Add srcset in the allowed attributes
  • #30381: Updated tab.js to address accessibility issue when using ul/li semantic
  • #30383: ensure totype always return stringified null when null passed
  • #30388: enable button toggle on label when checkbox is inside
  • #30490: Switch to string constants to save ~5% on compressed file size
  • #30510, #30511: Fix event propagation from inactive and disabled dropdowns
  • #30744: ensure build plugins can exit in error
  • #30772: Prevent scrollbar replacement on non-integer width
  • 22f75c: scrollspy: only accept valid Elements as input for target

Docs

  • Redesigned docs homepage
  • Improved tap target sizing in our navigation
  • Added examples for our input group border-radius workaround
  • Added warning to browser bugs page that it's no longer maintained
  • Added loading="lazy" for images
  • #29782: Improve wrapping and hit area of accordion example titles
  • #29820: move width after make-container() mixin
  • #29937: Add missing Noto Sans font to font stack
  • #29956: Add Microsoft Edge for macOS to supported browsers
  • #30130: Added ability to zip and download our Examples
  • #30175: Add version number in page titles
  • #30180: Changed input group validation examples to reflect issues with input group
  • #30207: Headings hierarchy in theming.md
  • #30325: Updated modal docs to simplify data-target usage and more
  • #30416: Clarify card group behavior
  • #30469: Remove holder.js leftovers
  • #30505: Use existing position utility in navbar example
  • #30695: make the check for URL stricter in our docs search
  • #30755: Removed role="document" from the modal dialog

Examples

  • #29886: Fix checkout page forms
  • #30573: Improve the responsiveness of our Dashboard example

Dependencies

  • Updated jQuery to v3.5.1
  • Replaced bundlesize with bundlewatch
  • Updated to Jekyll v4
  • Drop Node.js < 10
  • Misc devDependencies updates
  • Fix Dart Sass compatibility (#29755, #29763)
  • Add :disabled for disabled fieldset (#29762)
Other projects in CSS