mirror of
https://github.com/Hopiu/bootstrap.git
synced 2026-04-27 23:44:41 +00:00
* Add padding to badges The current badges are very tightly padded, and because the top and bottom padding are the same, and aligned to the baseline, this makes badges with descenders (e.g. the "g" in "Danger") look uncomfortably close to the bottom. Adding more ample padding masks this a bit. An alternative would be to have separate top and bottom padding, with the bottom one slightly larger than the top - but conversely, that then makes badges that contain no text with descenders, and particularly badges that contain all uppercase characters, look too bottom-heavy. Also adding some left/right extra padding, as currently the pill badges look uncomfortably tight on the sides due to the rounding.
15 KiB
15 KiB
| layout | title | description | group | aliases | toc |
|---|---|---|---|---|---|
| docs | Migrating to v5 | Track and review changes to the Bootstrap source files, documentation, and components to help you migrate from v4 to v5. | migration | /migration/ | true |
v5.0.0-alpha2
Sass
- "Screen reader" classes are now "visually hidden" classes.
- Changed the Sass file from
scss/helpers/_screenreaders.scsstoscss/helpers/_visually-hidden.scss - Renamed
.sr-onlyand.sr-only-focusableto.visually-hiddenand.visually-hidden-focusable - Renamed
sr-only()andsr-only-focusable()mixins tovisually-hidden()andvisually-hidden-focusable().
- Changed the Sass file from
Docs
- Renamed "Screen readers" helper page to "Visually hidden", and filename to
visually-hidden - Renamed "Checks" page to "Checks & radios", and filename to
checks-radios - Improved documentation of check/radio powered button groups
Reboot
- Updated
thstyling to use a defaultnullvalue forfont-weightand inherittext-aligninstead of setting explicitly.
Colors
- Bumped color contrast ratio from 3:1 to 4.5:1.
- Set
$blackas color contrast color instead of$gray-900. - Improved
$green(and its theme alias$success) color to reach new minimum color contrast (moving from#28a745to#198754). - Improved
$cyan(and its theme alias$info) color to be more vibrant (moving from#17a2b8to#0dcaf0).
Components
Badges
- Increased default padding for badges from
.25em/.5emto.35em/.65em.
Buttons
- Disabled states of buttons are easier to customize thanks to additional arguments in the
button-variant()mixin. See #30639.
Navs
- Added new
nullvariables forfont-size,font-weight,color, and:hovercolorto the.nav-linkclass.
Popovers
- Renamed
whiteListoption toallowList
Toasts
- Make default toast duration 5 seconds
Tooltips
- Renamed
whiteListoption toallowList
v5.0.0-alpha1
Browser support
See the browser and devices page for details on what is currently supported in Bootstrap 5. Since v4, here's what's changed to our browser support:
- Dropped support for Internet Explorer 10 and 11
- Dropped support for Microsoft Edge < 16
- Dropped support for Firefox < 60
- Dropped support for Safari < 10
- Dropped support for iOS Safari < 10
- Dropped support for Chrome < 60
- Dropped support for Android < 6
Sass
Changes to our source Sass files and compiled CSS.
- Removed
hover,hover-focus,plain-hover-focus, andhover-focus-activemixins. Use regular CSS syntax for these moving forward. See #28267. - Remove previously deprecated mixins
float()form-control-mixin()nav-divider()retina-img()text-hide()(also dropped the associated utility class,.text-hide)visibility()form-control-focus()
- Todo: New variables?
- Todo: Rearrange forms source files (under
scss/forms/) - Todo: Rearrange grid source files (under
scss/grid/) - Removed print styles and
$enable-print-stylesvariable. Print display classes, however, have remained intact. See #28339. - Dropped
color(),theme-color()&gray()functions in favor of variables. See #29083 - The
theme-color-level()function is renamed tocolor-level()and now accepts any color you want instead of only$theme-colorcolors. See #29083 $enable-grid-classesdoesn't disable the generation of container classes anymore See #29146- Renamed
$enable-prefers-reduced-motion-media-queryand$enable-pointer-cursor-for-buttonsto$enable-reduced-motionand$enable-button-pointersfor brevity. - Line heights are dropped from several components to simplify our codebase. The
button-size()andpagination-size()do not accept line height parameters anymore. See #29271 - The
button-variant()mixin now accepts 3 optional color parameters, for each button state, to override the color provided bycolor-contrast(). By default, these parameters will find which color provides more contrast against the button state's background color withcolor-contrast(). - The
button-outline-variant()mixin now accepts an additional argument,$active-color, for setting the button's active state text color. By default, this parameter will find which color provides more contrast against the button's active background color withcolor-contrast(). - Ditch the Sass map merges, which makes it easier to remove redundant values. Keep in mind you now have to define all values in the Sass maps like
$theme-colors. Check out how to deal with [Sass maps]({{< docsref "/customize/sass#maps-and-loops" >}}). color-yiq()function and related variables are renamed tocolor-contrast()since it's not related to YIQ colorspace anymore. See #30168.$yiq-contrasted-thresholdis renamed to$min-contrast-ratio.$yiq-text-darkand$yiq-text-lightare respectively renamed to$color-contrast-darkand$color-contrast-light.
- Linear gradients are simplified when gradients are enabled and therefore,
gradient-bg()now only accepts an optional$colorparameter. - The
bg-gradient-variant()mixin is removed since the.bg-gradientclass can now be used to add gradients to elements instead of the.bg-gradient-*classes. - The
media-breakpoint-down()uses the breakpoint itself instead of the next breakpoint. Usemedia-breakpoint-down(lg)instead ofmedia-breakpoint-down(md)to target viewports smaller than thelgbreakpoint. - The
media-breakpoint-between()mixin's second parameter also uses the breakpoint itself instead of the next breakpoint. Usemedia-between(sm, lg)instead ofmedia-breakpoint-between(sm, md)to target viewports between thesmandlgbreakpoints.
JavaScript
Changes to our source and compiled JavaScript files.
- Dropped jQuery dependency and rewrote plugins to be in regular JavaScript.
- Removed underscore from public static methods like
_getInstance()→getInstance().
Color system
We've updated the color system that powers Bootstrap to improve color contrast and provide a much more extensive set of colors.
- Updated blue and pink base colors (
-500) to ensure WCAG 2.1 AA contrast. - Added new tints and shades for every color, providing nine separate colors for each base color, as new Sass variables.
- To support our color system, we've added new custom
tint-color()andshade-color()functions to mix our colors appropriately.
Grid and layout
Changes to any layout tools and our grid system.
- Dropped the
.mediacomponent as it can be built with utility classes. See #28265. - Remove
position: relativefrom grid columns. - The horizontal padding is added to the direct children in a row instead of the columns themselves.
- This simplifies our codebase.
- The column classes can now be used stand alone. Whenever they are used outside a
.row, horizontal padding won't be added.
- The responsive gutter classes can be used to control the gutter width in horizontal, vertical or both directions.
- The gutter width is now set in
remand decreased from30pxto1.5rem(24px). bootstrap-grid.cssnow only appliesbox-sizing: border-boxto the column instead of resetting the global box-sizing. This way the grid system can be used, even ifbox-sizing: border-boxis not applied to each element.
Content, Reboot, etc
Changes to Reboot, typography, tables, and more.
- [RFS]({{< docsref "/getting-started/rfs" >}}) enabled for automated font size rescaling. See #29152
- Reset default horizontal
padding-lefton<ul>and<ol>elements from browser default40pxto2rem. - Simplified table styles (no more odd top border) and tightened cell padding.
- Nested tables do not inherit styles anymore.
.thead-lightand.thead-darkare dropped in favor of the.table-*variant classes which can be used for all table elements (thead,tbody,tfoot,tr,thandtd).- The
table-row-variant()mixin is renamed totable-variant()and accepts only 2 parameters:$color(colon name) and$value(color code). The border color and accent colors are automatically calculated based on the table factor variables. - Split table cell padding variables into
-yand-x. - Dropped
.pre-scrollableclass. See #29135 .text-*utilities do not add hover and focus states to links anymore..link-*helper classes can be used instead. See #29267- Drop
.text-justifyclass. See #229793
Typography
- Removed
$display-*variables for a new$display-font-sizesSass map. - Removed individual
$display-*-weightvariables for a single$display-font-weight. - Added two new
.display-*heading styles,.display-5and.display-6. - Resized existing display headings for a slightly more consistent set of
font-sizes.
Forms
- Rearranged form documentation under its own top-level section.
- Split out old Forms page into several subpages
- Moved input groups docs under the new Forms section
- Rearranged source Sass files under
scss/forms/, including moving over input group styles. - Combined native and custom checkboxes and radios into single
.form-checkclass.- New checks support sizing via
em/font-sizeor explicit modifier classes now. - New checks now appear larger by default for improved usability.
- Dropped
.custom-controland associated classes. - Renamed most
$custom-controlvariables to$form-controlones.
- New checks support sizing via
- Combined native and custom selects into
.form-select.- Dropped
.custom-selectand associated classes. - Renamed most
$custom-selectvariables to$form-selectones.
- Dropped
- Updated file input component with the same overall design, but improved HTML.
- Refactored
.form-filemarkup to resolve some visual bugs while allowing translation and button text changes via HTML instead of CSS. - Dropped native
.form-control-fileand.form-control-rangecomponents entirely. - Renamed
.custom-fileto.form-file(including variables). - Added support for
:focusand:disabledstyles.
- Refactored
- Renamed
.custom-rangeto.form-range(including variables). - Dropped
.form-groupfor margin utilities (we've replaced our docs examples with.mb-3). - Dropped
.form-rowfor the more flexible grid gutters. - Dropped
.form-inlinefor the more flexible grid. - Dropped support for
.form-control-plaintextinside.input-groups. - Dropped
.input-group-appendand.input-group-prepend. You can now just add buttons and.input-group-textas direct children of the input groups. - Form labels now require the
.form-labelclass. Sass variables are now available to style form labels to your needs. See #30476
Components
- Unified
paddingvalues for alerts, breadcrumbs, cards, dropdowns, list groups, modals, popovers, and tooltips to be based on our$spacervariable. See #30564.
Disabled states
- Disabled states of the buttons, close button, pagination link & form range now have
pointer-events: noneadded. This simplifies our codebase and makes it easier to override active states in CSS. #29296.
Alerts
- Todo: Remove auto-darkening of
<hr>elements in.alert-*class variants.<hr>s usergba()for their color, so these should naturally blend anyway.
Badges
Badges were overhauled to better differentiate themselves from buttons and to better utilize utility classes.
- Todo: Removed and replaced
.badgemodifier classes with background utility classes (e.g., use.bg-primaryinstead of.badge-primary) - Todo: Removed
.badge-pillfor the.rounded-pillutility class - Todo: Removed badge's hover and focus styles for
a.badgeandbutton.badge.
Buttons
- The checkbox/radio toggle is removed from the button plugin in favour of a CSS only solution, which is documented in the [form checks and radios]({{< docsref "/forms/checks-radios#toggle-buttons" >}}) docs. The
.btn-checkclass can be added to inputs, any label with.btnand modifier class can be used to theme the labels. See #30650.
Cards
- Removed the card columns in favor of a Masonry grid See #28922.
- Removed card decks in favor of the grid which adds more flexibility over responsive behavior.
Jumbotron
- The jumbotron component is removed in favor of utility classes like
.bg-lightfor the background color and.p-*classes to control padding.
Navbars
- All navbars now require a container within. This drastically simplifies spacing requirements and removes the need for extensive CSS overrides we added for responsive containers in v4.
Pagination
- Pagination links now have customizable
margin-leftthat are dynamically rounded on all corners when separated from one another.
Popovers
- Renamed
.arrowto.popover-arrow
Tooltips
- Renamed
.arrowto.tooltip-arrow
Accessibility
- Unlike the old
.sr-only-focusable, which only worked in combination with.sr-only,.sr-only-focusablecan be used as a standalone class without.sr-only. See #28720.
Utilities
- Renamed
.text-monospaceto.font-monospace - Decreased the number of responsive order utilities per breakpoint. The highest order utility with a number now is
.order-5instead of.order-12. See #28874. - New
line-heightutilities:.lh-1,.lh-sm,.lh-baseand.lh-lg. See [here]({{< docsref "/utilities/text#line-height" >}}). - Added
.bg-bodyfor quickly setting the<body>'s background to additional elements. - Todo: Drop
.text-hideas it's an antiquated method for hiding text that shouldn't be used anymore - Todo: Split utilities into property-value utility classes and helpers
- Negative margin utilities are disabled by default. You can re-enable them by setting
$enable-negative-margins: true, but keep in mind this can increase the file size quite a lot.
Docs
- Removed "Wall of browser bugs" page because it has become obsolete
- Switched from Jekyll to Hugo
Build tools
- Updated all devDependencies
- We support only the latest Node.js LTS releases which are 10 and 12 at the time of writing