0
0
mirror of https://github.com/twbs/bootstrap.git synced 2024-12-12 00:08:59 +01:00
Bootstrap/site/content/docs/5.1/utilities/borders.md
Mark Otto de0dfca9a1 Convert border utilities to CSS variables
- Updates the utilities mixin to check for specific CSS variable names via `css-variable`
- Bonus fix: we now prevent local variables for `0` value utilities (e.g., `.border-top-0` no longer sets `--bs-border-opacity: 1`
- Adds new `.border-opacity-*` classes
- Adds new root variables: `--bs-border-color`, `--bs-border-style`, `--bs-border-width`
- Documents the new variable changes
2022-02-28 11:40:32 -08:00

5.3 KiB

layout title description group toc
docs Borders Use border utilities to quickly style the border and border-radius of an element. Great for images, buttons, or any other element. utilities true

Border

Use border utilities to add or remove an element's borders. Choose from all borders or one at a time.

Additive

{{< example class="bd-example-border-utils" >}} {{< /example >}}

Subtractive

{{< example class="bd-example-border-utils bd-example-border-utils-0" >}} {{< /example >}}

Color

Change the border color using utilities built on our theme colors.

{{< example class="bd-example-border-utils" >}} {{< border.inline >}} {{- range (index $.Site.Data "theme-colors") }} {{- end -}} {{< /border.inline >}} {{< /example >}}

Opacity

Added in v5.2.0

Bootstrap border-{color} utilities are generated with Sass using CSS variables. This allows for real-time color changes without compilation and dynamic alpha transparency changes.

How it works

Consider our default .border-success utility.

.border-success {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
}

We use an RGB version of our --bs-success (with the value of 25, 135, 84) CSS variable and attached a second CSS variable, --bs-border-opacity, for the alpha transparency (with a default value 1 thanks to a local CSS variable). That means anytime you use .border-success now, your computed color value is rgba(25, 135, 84, 1). The local CSS variable inside each .border-* class avoids inheritance issues so nested instances of the utilities don't automatically have a modified alpha transparency.

Example

To change that opacity, override --bs-border-opacity via custom styles or inline styles.

{{< example >}}

This is default success border
This is 50% opacity success border
{{< /example >}}

Or, choose from any of the .border-opacity utilities:

{{< example >}}

This is default success border
This is 75% opacity success border
This is 50% opacity success border
This is 25% opacity success border
This is 10% opacity success border
{{< /example >}}

Width

{{< example class="bd-example-border-utils" >}} {{< /example >}}

Radius

Add classes to an element to easily round its corners.

{{< example class="bd-example-rounded-utils" >}} {{< placeholder width="75" height="75" class="rounded" title="Example rounded image" >}} {{< placeholder width="75" height="75" class="rounded-top" title="Example top rounded image" >}} {{< placeholder width="75" height="75" class="rounded-end" title="Example right rounded image" >}} {{< placeholder width="75" height="75" class="rounded-bottom" title="Example bottom rounded image" >}} {{< placeholder width="75" height="75" class="rounded-start" title="Example left rounded image" >}} {{< placeholder width="75" height="75" class="rounded-circle" title="Completely round image" >}} {{< placeholder width="150" height="75" class="rounded-pill" title="Rounded pill image" >}} {{< /example >}}

Sizes

Use the scaling classes for larger or smaller rounded corners. Sizes range from 0 to 3, and can be configured by modifying the utilities API.

{{< example class="bd-example-rounded-utils" >}} {{< placeholder width="75" height="75" class="rounded-0" title="Example non-rounded image" >}} {{< placeholder width="75" height="75" class="rounded-1" title="Example small rounded image" >}} {{< placeholder width="75" height="75" class="rounded-2" title="Example default rounded image" >}} {{< placeholder width="75" height="75" class="rounded-3" title="Example large rounded image" >}} {{< /example >}}

Sass

Variables

{{< scss-docs name="border-variables" file="scss/_variables.scss" >}}

{{< scss-docs name="border-radius-variables" file="scss/_variables.scss" >}}

Mixins

{{< scss-docs name="border-radius-mixins" file="scss/mixins/_border-radius.scss" >}}

Utilities API

Border utilities are declared in our utilities API in scss/_utilities.scss. [Learn how to use the utilities API.]({{< docsref "/utilities/api#using-the-api" >}})

{{< scss-docs name="utils-borders" file="scss/_utilities.scss" >}}

{{< scss-docs name="utils-border-radius" file="scss/_utilities.scss" >}}