Reboot, a collection of element-specific CSS changes in a single file, kickstart Bootstrap to provide an elegant, consistent, and simple baseline to build upon.
With v5.1.1, we standardized our required @imports across all our CSS bundles (including bootstrap.css, bootstrap-reboot.css, and bootstrap-grid.css) to include _root.scss. This adds :root level CSS variables to all bundles, regardless of how many of them are used in that bundle. Ultimately Bootstrap 5 will continue to see more CSS variables added over time, in order to provide more real-time customization without the need to always recompile Sass. Our approach is to take our source Sass variables and transform them into CSS variables. That way, even if you don’t use CSS variables, you still have all the power of Sass. This is still in-progress and will take time to fully implement.
For example, consider these :root CSS variables for common
styles:In practice, those variables are then applied in Reboot like so:
Bootstrap utilizes a “native font stack” or “system font stack” for optimum text rendering on every device and OS. These system fonts have been designed specifically with today’s devices in mind, with improved rendering on screens, variable font support, and more. Read more about native font stacks in this Smashing Magazine article.
Note that because the font stack includes emoji fonts, many common symbol/dingbat Unicode characters will be rendered as multicolored pictographs. Their appearance will vary, depending on the style used in the browser/platform’s native emoji font, and they won’t be affected by any CSS color styles. This font-family is applied to the
and automatically inherited globally throughout Bootstrap. To switch the global font-family, update $font-family-base and recompile Bootstrap.All heading elements—
All 'p' elements have their margin-top removed and margin-bottom: 1rem set for easy spacing.
Links have a default color and underline applied. While links change on :hover, they don’t change based on whether someone :visited the link. They also receive no special :focus styles.
The
All lists—
For simpler styling, clear hierarchy, and better spacing, description lists have updated margins.
Wrap inline snippets of code with . Be sure to escape HTML angle brackets.
Use
s for multiple lines of code. Once again, be sure to escape any angle brackets in the code for proper rendering. Theelement is reset to remove its margin-top and use rem units for its margin-bottom.![]()
Variables
For indicating variables use the tag.
![]()
Use the to indicate input that is typically entered via keyboard.
![]()
Sample output
For indicating sample output from a program use the tag.
![]()
Tables
Tables are slightly adjusted to style
s, collapse borders, and ensure consistent text-align throughout. Additional changes for borders, padding, and more come with the .table class. ![]()
Forms
Various form elements have been rebooted for simpler base styles. Here are some of the most notable changes: