Rely on `border-width` for `<hr>` size (#35491)

* fix(reboot): revert hr styles to v4 implementation

* docs(cheatsheet): add a hr example

* fix(reboot): currentColor is the initial border-color value

* Document hr element in Reboot docs

* Update migration guide

* Update scss/_variables.scss

Co-authored-by: Mark Otto <markd.otto@gmail.com>
This commit is contained in:
Gaël Poupard 2022-02-22 09:02:47 +01:00 committed by GitHub
parent 0804c0043f
commit 37f3977e6d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 34 additions and 12 deletions

View File

@ -64,20 +64,15 @@ body {
// Content grouping
//
// 1. Reset Firefox's gray color
// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field
hr {
margin: $hr-margin-y 0;
color: $hr-color; // 1
background-color: $hr-bg-color;
border: $hr-border-width;
border: 0;
border-top: $hr-border-width solid $hr-border-color;
opacity: $hr-opacity;
}
hr:not([size]) {
height: $hr-height; // 2
}
// Typography
//

View File

@ -620,9 +620,13 @@ $blockquote-footer-font-size: $small-font-size !default;
$hr-margin-y: $spacer !default;
$hr-color: inherit !default;
$hr-bg-color: currentColor !default;
$hr-border-width: 0 !default;
$hr-height: $border-width !default;
// fusv-disable
$hr-bg-color: null !default; // Deprecated in v5.2.0
$hr-height: null !default; // Deprecated in v5.2.0
// fusv-enable
$hr-border-color: null !default; // Allows for inherited colors
$hr-border-width: $border-width !default;
$hr-opacity: .25 !default;
$legend-margin-bottom: .5rem !default;

View File

@ -124,7 +124,7 @@
display: block;
}
> :last-child {
> :not(hr):last-child {
margin-bottom: 0;
}

View File

@ -129,6 +129,21 @@ All heading elements—e.g., `<h1>`—and `<p>` are reset to have their `margin-
</tbody>
</table>
## 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. They can be modified with text, border, and opacity utilities.
{{< example >}}
<hr>
<div class="text-success">
<hr>
</div>
<hr class="text-danger border-2 opacity-50">
<hr class="border-primary border-3 opacity-75">
{{< /example >}}
## Lists
All lists—`<ul>`, `<ol>`, and `<dl>`—have their `margin-top` removed and a `margin-bottom: 1rem`. Nested lists have no `margin-bottom`. We've also reset the `padding-left` on `<ul>` and `<ol>` elements.

View File

@ -116,6 +116,10 @@ direction: rtl
<p><em>هذا السطر يحوي نص مائل.</em></p>
{{< /example >}}
{{< example show_markup="false" >}}
<hr>
{{< /example >}}
{{< example show_markup="false" >}}
<blockquote class="blockquote">
<p>إقتباس مبهر، موضوع في عنصر blockquote</p>

View File

@ -115,6 +115,10 @@ body_class: "bg-light"
<p><em>This line rendered as italicized text.</em></p>
{{< /example >}}
{{< example show_markup="false" >}}
<hr>
{{< /example >}}
{{< example show_markup="false" >}}
<blockquote class="blockquote">
<p>A well-known quote, contained in a blockquote element.</p>

View File

@ -181,7 +181,7 @@ Your custom Bootstrap CSS builds should now look something like this with a sepa
- <span class="badge bg-danger">Breaking</span> Dropped `.text-justify` class. [See #29793](https://github.com/twbs/bootstrap/pull/29793)
- <span class="badge bg-danger">Breaking</span> `<hr>` elements now use `height` instead of `border` to better support the `size` attribute. This also enables use of padding utilities to create thicker dividers (e.g., `<hr class="py-1">`).
- <span class="badge bg-danger">Breaking</span> ~~`<hr>` elements now use `height` instead of `border` to better support the `size` attribute. This also enables use of padding utilities to create thicker dividers (e.g., `<hr class="py-1">`).~~
- Reset default horizontal `padding-left` on `<ul>` and `<ol>` elements from browser default `40px` to `2rem`.