Reboot, a collection of element-specific CSS changes in a single file. Bootstrap to provide an elegant, consistent, and simple baseline to build upon.
Bootstrap Reboot Approach
Here are our guidelines and reasons for choosing what to override in Reboot:
Update some browser default values to use rems instead of ems for scalable component spacing.
Avoid margin-top. Vertical margins can collapse, yielding unexpected results. More importantly though, a single direction of margin is a simpler mental model.
For easier scaling across device sizes, block elements should use rems for margins.
Keep declarations of font-related properties to a minimum, using inherit whenever possible.
Bootstrap Horizontal Rules
The <hr> element has been simplified. Similar to browser defaults, <hr>s are styled via border-top, have a default opacity: .25, and automatically inherit their border-color via color, including when color is set via the parent.
Bootstrap inline code refers to the use of the code element in Bootstrap to display a short piece of code or programming language syntax inline with text.
The code element is used to indicate that the enclosed text is code, and is typically styled in a monospace font to distinguish it from the surrounding text.
Sample Code
<!doctype html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1"><linkhref="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"rel="stylesheet"><linkhref="https://getbootstrap.com/docs/5.2/assets/css/docs.css"rel="stylesheet"><title>Bootstrap Example</title><scriptsrc="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script></head><bodyclass="p-3 m-0 border-0 bd-example">
For example, <code><section></code> should be wrapped as inline.
</body></html>
Output
Bootstrap Code blocks
<pre>s for multiple lines of code. The <pre> element is reset to remove its margin-top and use rem units for its margin-bottom.
Sample Code
<!doctype html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1"><linkhref="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"rel="stylesheet"><linkhref="https://getbootstrap.com/docs/5.2/assets/css/docs.css"rel="stylesheet"><title>Bootstrap Example</title><scriptsrc="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script></head><bodyclass="p-3 m-0 border-0 bd-example"><pre><code><p>Sample text here...</p>
<p>And another line of sample text here...</p>
</code></pre></body></html>
Use the <kbd> to indicate input that is typically entered via keyboard.
Sample Code
<!doctype html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1"><linkhref="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"rel="stylesheet"><linkhref="https://getbootstrap.com/docs/5.2/assets/css/docs.css"rel="stylesheet"><title>Bootstrap Example</title><scriptsrc="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script></head><bodyclass="p-3 m-0 border-0 bd-example">
To switch directories, type <kbd>cd</kbd> followed by the name of the directory.<br>
To edit settings, press <kbd><kbd>ctrl</kbd> + <kbd>,</kbd></kbd></body></html>
Output
Bootstrap Tables
An extended table to the integration with some of the most widely used CSS frameworks. It Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation
Sample Code
<!doctype html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1"><linkhref="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"rel="stylesheet"><linkhref="https://getbootstrap.com/docs/5.2/assets/css/docs.css"rel="stylesheet"><title>Bootstrap Example</title><scriptsrc="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script></head><bodyclass="p-3 m-0 border-0 bd-example"><table><caption>
This is an example table, and this is its caption to describe the contents.
</caption><thead><tr><th>Table heading</th><th>Table heading</th><th>Table heading</th><th>Table heading</th></tr></thead><tbody><tr><td>Table cell</td><td>Table cell</td><td>Table cell</td><td>Table cell</td></tr><tr><td>Table cell</td><td>Table cell</td><td>Table cell</td><td>Table cell</td></tr><tr><td>Table cell</td><td>Table cell</td><td>Table cell</td><td>Table cell</td></tr></tbody></table></body></html>
Output
Bootstrap Forms
<fieldset>s have no borders, padding, or margin so they can be easily used as wrappers for individual inputs or groups of inputs.
<legend>s, like fieldsets, have also been restyled to be displayed as a heading of sorts.
<label>s are set to display: inline-block to allow margin to be applied.
<input>s, <select>s, <textarea>s, and <button>s are mostly addressed by Normalize, but Reboot removes their margin and sets line-height: inherit, too.
<textarea>s are modified to only be resizable vertically as horizontal resizing often “breaks” page layout.
<button>s and <input> button elements have cursor:
Sample Code
<!doctype html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1"><linkhref="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"rel="stylesheet"><linkhref="https://getbootstrap.com/docs/5.2/assets/css/docs.css"rel="stylesheet"><title>Bootstrap Example</title><scriptsrc="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script></head><bodyclass="p-3 m-0 border-0 bd-example"><formclass="bd-example"><fieldset><legend>Example legend</legend><p><labelfor="input">Example input</label><inputtype="text"id="input"placeholder="Example input"></p><p><labelfor="email">Example email</label><inputtype="email"id="email"placeholder="test@example.com"></p><p><labelfor="tel">Example telephone</label><inputtype="tel"id="tel"></p><p><labelfor="url">Example url</label><inputtype="url"id="url"></p><p><labelfor="number">Example number</label><inputtype="number"id="number"></p><p><labelfor="search">Example search</label><inputtype="search"id="search"></p><p><labelfor="range">Example range</label><inputtype="range"id="range"min="0"max="10"></p><p><labelfor="file">Example file input</label><inputtype="file"id="file"></p><p><labelfor="select">Example select</label><selectid="select"><optionvalue="">Choose...</option><optgrouplabel="Option group 1"><optionvalue="">Option 1</option><optionvalue="">Option 2</option><optionvalue="">Option 3</option></optgroup><optgrouplabel="Option group 2"><optionvalue="">Option 4</option><optionvalue="">Option 5</option><optionvalue="">Option 6</option></optgroup></select></p><p><label><inputtype="checkbox"value="">
Check this checkbox
</label></p><p><label><inputtype="radio"name="optionsRadios"id="optionsRadios1"value="option1"checked>
Option one is this and that
</label><label><inputtype="radio"name="optionsRadios"id="optionsRadios2"value="option2">
Option two is something else that's also super long to demonstrate the wrapping of these fancy form controls.
</label><label><inputtype="radio"name="optionsRadios"id="optionsRadios3"value="option3"disabled>
Option three is disabled
</label></p><p><labelfor="textarea">Example textarea</label><textareaid="textarea"rows="3"></textarea></p><p><labelfor="date">Example date</label><inputtype="date"id="date"></p><p><labelfor="time">Example time</label><inputtype="time"id="time"></p><p><labelfor="password">Example password</label><inputtype="password"id="password"></p><p><labelfor="datetime-local">Example datetime-local</label><inputtype="datetime-local"id="datetime-local"></p><p><labelfor="week">Example week</label><inputtype="week"id="week"></p><p><labelfor="month">Example month</label><inputtype="month"id="month"></p><p><labelfor="color">Example color</label><inputtype="color"id="color"></p><p><labelfor="output">Example output</label><outputname="result"id="output">100</output></p><p><buttontype="submit">Button submit</button><inputtype="submit"value="Input submit button"><inputtype="reset"value="Input reset button"><inputtype="button"value="Input button"></p><p><buttontype="submit"disabled>Button submit</button><inputtype="submit"value="Input submit button"disabled><inputtype="reset"value="Input reset button"disabled><inputtype="button"value="Input button"disabled></p></fieldset></form></body></html>
Output
Bootstrap Pointers on Buttons
Reboot includes an enhancement for role="button" to change the default cursor to pointer. Add this attribute to elements to help indicate elements are interactive. This role isn’t necessary for <button> elements, which get their own cursor change.
All heading elements—e.g., <h1>—and <p> are reset to have their margin-top removed. Headings have margin-bottom: .5rem added and paragraphs margin-bottom: 1rem for easy spacing.