8.0 KiB
layout | title |
---|---|
page | Reboot |
Several HTML elements are "rebooted" by Bootstrap for a more logical starting point and easier customization. This reboot builds upon Normalize, and as such, only uses element selectors to add our own opinionated resets.
Approach
Here are our guidelines for choosing what to override in our reboot:
- Only use
rem
s andem
s as the global units whenever possible. - Avoid
margin-top
whenever possible. Vertical margins often collapse, sometimes yielding unexpected results. Moreover, a single direction ofmargin
is an easier and quicker mental model to adopt.
Headings and paragaphs
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.
h2 heading
Curabitur blandit tempus porttitor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.
h3 heading
Curabitur blandit tempus porttitor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.
h4 heading
Curabitur blandit tempus porttitor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.
h5 heading
Curabitur blandit tempus porttitor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.
h6 heading
Curabitur blandit tempus porttitor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. {% endmarkdown %}
Lists
All lists—<ul>
, <ol>
, and <dl>
—have their margin-top
removed and a margin-bottom: 1rem
. Nested lists have no margin-bottom
.
- Lorem ipsum dolor sit amet
- Consectetur adipiscing elit
- Integer molestie lorem at massa
- Facilisis in pretium nisl aliquet
- Nulla volutpat aliquam velit
- Faucibus porta lacus fringilla vel
- Aenean sit amet erat nunc
- Eget porttitor lorem {% endmarkdown %}
For simpler styling, clear hierarchy, and better spacing, description lists have updated margin
s. <dd>
s reset margin-left
to 0
and add margin-bottom: .5rem
. <dt>
s are bolded.
- Description lists
- A description list is perfect for defining terms.
- Euismod
- Vestibulum id ligula porta felis euismod semper eget lacinia odio sem.
- Donec id elit non mi porta gravida at eget metus.
- Malesuada porta
- Etiam porta sem malesuada magna mollis euismod.
Tables
Tables are slightly adjusted to style <caption>
s and ensure consistent text-align
throughout.
Table heading | Table heading | Table heading | Table heading |
---|---|---|---|
Table cell | Table cell | Table cell | Table cell |
Table cell | Table cell | Table cell | Table cell |
Table cell | Table cell | Table cell | Table cell |
Code blocks
The <pre>
element is reset to remove its margin-top
and use rem
units for its margin-bottom
.
Inline elements
Address
Twitter, Inc.795 Folsom Ave, Suite 600
San Francisco, CA 94107
P: (123) 456-7890 Full Name
first.last@example.com
Blockquote
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.
Someone famous in Source Title
Tables
Table heading | Table heading | Table heading | Table heading |
---|---|---|---|
Table cell | Table cell | Table cell | Table cell |
Table cell | Table cell | Table cell | Table cell |
Table cell | Table cell | Table cell | Table cell |
Forms
Example legend<p>
<label for="input">Example input</label>
<input type="text" id="input" placeholder="Example input">
</p>
<p>
<label for="select">Example select</label>
<select id="select">
<option value="">Choose...</option>
<optgroup label="Option group 1">
<option value="">Option 1</option>
<option value="">Option 2</option>
<option value="">Option 3</option>
</optgroup>
<optgroup label="Option group 2">
<option value="">Option 4</option>
<option value="">Option 5</option>
<option value="">Option 6</option>
</optgroup>
</select>
</p>
<formgroup>
<label>
<input type="checkbox" value="">
Check this checkbox
</label>
</formgroup>
<formgroup>
<label>
<input type="radio" name="optionsRadios" id="optionsRadios1" value="option1" checked>
Option one is this and that
</label>
<label>
<input type="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>
<input type="radio" name="optionsRadios" id="optionsRadios3" value="option3" disabled>
Option three is disabled
</label>
</formgroup>
<p>
<label for="textarea">Example textarea</label>
<textarea id="example" rows="3"></textarea>
</p>
<p>
<label for="file">Example file</label>
<input type="file">
</p>
<p>
<label for="progress">Example progress bar</label>
<progress value="25" min="0" max="100"></progress>
</p>
<p>
<label for="range">Example range</label>
<input type="range">
</p>
<p>
<label for="time">Example temporal</label>
<input type="date">
</p>
<p>
<button type="submit">Button submit</button>
<input type="submit" value="Input submit button">
<input type="button" value="Input button">
</p>
<p>
<button type="submit" disabled>Button submit</button>
<input type="submit" value="Input submit button" disabled>
<input type="button" value="Input button" disabled>
</p>