Skip to content

Border Color โ€‹

Utilities for controlling the color of an element's borders.

Class NameCSS Equivalent
borderborder-color: rgba(var(--cds-sys-color-stroke), var(--cds-sys-border-opacity);
border-bborder-block-color: rgba(var(--cds-sys-color-stroke), var(--cds-sys-border-opacity);
border-iborder-inline-color: rgba(var(--cds-sys-color-stroke), var(--cds-sys-border-opacity);
border-bsborder-block-start-color: rgba(var(--cds-sys-color-stroke), var(--cds-sys-border-opacity);
border-beborder-block-end-color: rgba(var(--cds-sys-color-stroke), var(--cds-sys-border-opacity);
border-isborder-inline-start-color: rgba(var(--cds-sys-color-stroke), var(--cds-sys-border-opacity);
border-ieborder-inline-end-color: rgba(var(--cds-sys-color-stroke), var(--cds-sys-border-opacity);
border-transparentborder-color: rgba(var(--cds-sys-color-transparent), var(--cds-sys-border-opacity);
border-b-transparentborder-block-color: rgba(var(--cds-sys-color-transparent), var(--cds-sys-border-opacity);
border-i-transparentborder-inline-color: rgba(var(--cds-sys-color-transparent), var(--cds-sys-border-opacity);
border-bs-transparentborder-block-start-color: rgba(var(--cds-sys-color-transparent), var(--cds-sys-border-opacity);
border-be-transparentborder-block-end-color: rgba(var(--cds-sys-color-transparent), var(--cds-sys-border-opacity);
border-is-transparentborder-inline-start-color: rgba(var(--cds-sys-color-transparent), var(--cds-sys-border-opacity);
border-ie-transparentborder-inline-end-color: rgba(var(--cds-sys-color-transparent), var(--cds-sys-border-opacity);
border-primaryborder-color: rgba(var(--cds-sys-color-primary), var(--cds-sys-border-opacity);
border-b-primaryborder-block-color: rgba(var(--cds-sys-color-primary), var(--cds-sys-border-opacity);
border-i-primaryborder-inline-color: rgba(var(--cds-sys-color-primary), var(--cds-sys-border-opacity);
border-bs-primaryborder-block-start-color: rgba(var(--cds-sys-color-primary), var(--cds-sys-border-opacity);
border-be-primaryborder-block-end-color: rgba(var(--cds-sys-color-primary), var(--cds-sys-border-opacity);
border-is-primaryborder-inline-start-color: rgba(var(--cds-sys-color-primary), var(--cds-sys-border-opacity);
border-ie-primaryborder-inline-end-color: rgba(var(--cds-sys-color-primary), var(--cds-sys-border-opacity);
border-on-primaryborder-color: rgba(var(--cds-sys-color-on-primary), var(--cds-sys-border-opacity);
border-b-on-primaryborder-block-color: rgba(var(--cds-sys-color-on-primary), var(--cds-sys-border-opacity);
border-i-on-primaryborder-inline-color: rgba(var(--cds-sys-color-on-primary), var(--cds-sys-border-opacity);
border-bs-on-primaryborder-block-start-color: rgba(var(--cds-sys-color-on-primary), var(--cds-sys-border-opacity);
border-be-on-primaryborder-block-end-color: rgba(var(--cds-sys-color-on-primary), var(--cds-sys-border-opacity);
border-is-on-primaryborder-inline-start-color: rgba(var(--cds-sys-color-on-primary), var(--cds-sys-border-opacity);
border-ie-on-primaryborder-inline-end-color: rgba(var(--cds-sys-color-on-primary), var(--cds-sys-border-opacity);
border-on-primary-containerborder-color: rgba(var(--cds-sys-color-on-primary-container), var(--cds-sys-border-opacity);
border-b-on-primary-containerborder-block-color: rgba(var(--cds-sys-color-on-primary-container), var(--cds-sys-border-opacity);
border-i-on-primary-containerborder-inline-color: rgba(var(--cds-sys-color-on-primary-container), var(--cds-sys-border-opacity);
border-bs-on-primary-containerborder-block-start-color: rgba(var(--cds-sys-color-on-primary-container), var(--cds-sys-border-opacity);
border-be-on-primary-containerborder-block-end-color: rgba(var(--cds-sys-color-on-primary-container), var(--cds-sys-border-opacity);
border-is-on-primary-containerborder-inline-start-color: rgba(var(--cds-sys-color-on-primary-container), var(--cds-sys-border-opacity);
border-ie-on-primary-containerborder-inline-end-color: rgba(var(--cds-sys-color-on-primary-container), var(--cds-sys-border-opacity);
border-secondaryborder-color: rgba(var(--cds-sys-color-secondary), var(--cds-sys-border-opacity);
border-b-secondaryborder-block-color: rgba(var(--cds-sys-color-secondary), var(--cds-sys-border-opacity);
border-i-secondaryborder-inline-color: rgba(var(--cds-sys-color-secondary), var(--cds-sys-border-opacity);
border-bs-secondaryborder-block-start-color: rgba(var(--cds-sys-color-secondary), var(--cds-sys-border-opacity);
border-be-secondaryborder-block-end-color: rgba(var(--cds-sys-color-secondary), var(--cds-sys-border-opacity);
border-is-secondaryborder-inline-start-color: rgba(var(--cds-sys-color-secondary), var(--cds-sys-border-opacity);
border-ie-secondaryborder-inline-end-color: rgba(var(--cds-sys-color-secondary), var(--cds-sys-border-opacity);
border-on-secondaryborder-color: rgba(var(--cds-sys-color-on-secondary), var(--cds-sys-border-opacity);
border-b-on-secondaryborder-block-color: rgba(var(--cds-sys-color-on-secondary), var(--cds-sys-border-opacity);
border-i-on-secondaryborder-inline-color: rgba(var(--cds-sys-color-on-secondary), var(--cds-sys-border-opacity);
border-bs-on-secondaryborder-block-start-color: rgba(var(--cds-sys-color-on-secondary), var(--cds-sys-border-opacity);
border-be-on-secondaryborder-block-end-color: rgba(var(--cds-sys-color-on-secondary), var(--cds-sys-border-opacity);
border-is-on-secondaryborder-inline-start-color: rgba(var(--cds-sys-color-on-secondary), var(--cds-sys-border-opacity);
border-ie-on-secondaryborder-inline-end-color: rgba(var(--cds-sys-color-on-secondary), var(--cds-sys-border-opacity);
border-on-secondary-containerborder-color: rgba(var(--cds-sys-color-on-secondary-container), var(--cds-sys-border-opacity);
border-b-on-secondary-containerborder-block-color: rgba(var(--cds-sys-color-on-secondary-container), var(--cds-sys-border-opacity);
border-i-on-secondary-containerborder-inline-color: rgba(var(--cds-sys-color-on-secondary-container), var(--cds-sys-border-opacity);
border-bs-on-secondary-containerborder-block-start-color: rgba(var(--cds-sys-color-on-secondary-container), var(--cds-sys-border-opacity);
border-be-on-secondary-containerborder-block-end-color: rgba(var(--cds-sys-color-on-secondary-container), var(--cds-sys-border-opacity);
border-is-on-secondary-containerborder-inline-start-color: rgba(var(--cds-sys-color-on-secondary-container), var(--cds-sys-border-opacity);
border-ie-on-secondary-containerborder-inline-end-color: rgba(var(--cds-sys-color-on-secondary-container), var(--cds-sys-border-opacity);
border-errorborder-color: rgba(var(--cds-sys-color-error), var(--cds-sys-border-opacity);
border-b-errorborder-block-color: rgba(var(--cds-sys-color-error), var(--cds-sys-border-opacity);
border-i-errorborder-inline-color: rgba(var(--cds-sys-color-error), var(--cds-sys-border-opacity);
border-bs-errorborder-block-start-color: rgba(var(--cds-sys-color-error), var(--cds-sys-border-opacity);
border-be-errorborder-block-end-color: rgba(var(--cds-sys-color-error), var(--cds-sys-border-opacity);
border-is-errorborder-inline-start-color: rgba(var(--cds-sys-color-error), var(--cds-sys-border-opacity);
border-ie-errorborder-inline-end-color: rgba(var(--cds-sys-color-error), var(--cds-sys-border-opacity);
border-on-errorborder-color: rgba(var(--cds-sys-color-on-error), var(--cds-sys-border-opacity);
border-b-on-errorborder-block-color: rgba(var(--cds-sys-color-on-error), var(--cds-sys-border-opacity);
border-i-on-errorborder-inline-color: rgba(var(--cds-sys-color-on-error), var(--cds-sys-border-opacity);
border-bs-on-errorborder-block-start-color: rgba(var(--cds-sys-color-on-error), var(--cds-sys-border-opacity);
border-be-on-errorborder-block-end-color: rgba(var(--cds-sys-color-on-error), var(--cds-sys-border-opacity);
border-is-on-errorborder-inline-start-color: rgba(var(--cds-sys-color-on-error), var(--cds-sys-border-opacity);
border-ie-on-errorborder-inline-end-color: rgba(var(--cds-sys-color-on-error), var(--cds-sys-border-opacity);
border-on-error-containerborder-color: rgba(var(--cds-sys-color-on-error-container), var(--cds-sys-border-opacity);
border-b-on-error-containerborder-block-color: rgba(var(--cds-sys-color-on-error-container), var(--cds-sys-border-opacity);
border-i-on-error-containerborder-inline-color: rgba(var(--cds-sys-color-on-error-container), var(--cds-sys-border-opacity);
border-bs-on-error-containerborder-block-start-color: rgba(var(--cds-sys-color-on-error-container), var(--cds-sys-border-opacity);
border-be-on-error-containerborder-block-end-color: rgba(var(--cds-sys-color-on-error-container), var(--cds-sys-border-opacity);
border-is-on-error-containerborder-inline-start-color: rgba(var(--cds-sys-color-on-error-container), var(--cds-sys-border-opacity);
border-ie-on-error-containerborder-inline-end-color: rgba(var(--cds-sys-color-on-error-container), var(--cds-sys-border-opacity);
border-warnborder-color: rgba(var(--cds-sys-color-warn), var(--cds-sys-border-opacity);
border-b-warnborder-block-color: rgba(var(--cds-sys-color-warn), var(--cds-sys-border-opacity);
border-i-warnborder-inline-color: rgba(var(--cds-sys-color-warn), var(--cds-sys-border-opacity);
border-bs-warnborder-block-start-color: rgba(var(--cds-sys-color-warn), var(--cds-sys-border-opacity);
border-be-warnborder-block-end-color: rgba(var(--cds-sys-color-warn), var(--cds-sys-border-opacity);
border-is-warnborder-inline-start-color: rgba(var(--cds-sys-color-warn), var(--cds-sys-border-opacity);
border-ie-warnborder-inline-end-color: rgba(var(--cds-sys-color-warn), var(--cds-sys-border-opacity);
border-on-warnborder-color: rgba(var(--cds-sys-color-on-warn), var(--cds-sys-border-opacity);
border-b-on-warnborder-block-color: rgba(var(--cds-sys-color-on-warn), var(--cds-sys-border-opacity);
border-i-on-warnborder-inline-color: rgba(var(--cds-sys-color-on-warn), var(--cds-sys-border-opacity);
border-bs-on-warnborder-block-start-color: rgba(var(--cds-sys-color-on-warn), var(--cds-sys-border-opacity);
border-be-on-warnborder-block-end-color: rgba(var(--cds-sys-color-on-warn), var(--cds-sys-border-opacity);
border-is-on-warnborder-inline-start-color: rgba(var(--cds-sys-color-on-warn), var(--cds-sys-border-opacity);
border-ie-on-warnborder-inline-end-color: rgba(var(--cds-sys-color-on-warn), var(--cds-sys-border-opacity);
border-on-warn-containerborder-color: rgba(var(--cds-sys-color-on-warn-container), var(--cds-sys-border-opacity);
border-b-on-warn-containerborder-block-color: rgba(var(--cds-sys-color-on-warn-container), var(--cds-sys-border-opacity);
border-i-on-warn-containerborder-inline-color: rgba(var(--cds-sys-color-on-warn-container), var(--cds-sys-border-opacity);
border-bs-on-warn-containerborder-block-start-color: rgba(var(--cds-sys-color-on-warn-container), var(--cds-sys-border-opacity);
border-be-on-warn-containerborder-block-end-color: rgba(var(--cds-sys-color-on-warn-container), var(--cds-sys-border-opacity);
border-is-on-warn-containerborder-inline-start-color: rgba(var(--cds-sys-color-on-warn-container), var(--cds-sys-border-opacity);
border-ie-on-warn-containerborder-inline-end-color: rgba(var(--cds-sys-color-on-warn-container), var(--cds-sys-border-opacity);
border-successborder-color: rgba(var(--cds-sys-color-success), var(--cds-sys-border-opacity);
border-b-successborder-block-color: rgba(var(--cds-sys-color-success), var(--cds-sys-border-opacity);
border-i-successborder-inline-color: rgba(var(--cds-sys-color-success), var(--cds-sys-border-opacity);
border-bs-successborder-block-start-color: rgba(var(--cds-sys-color-success), var(--cds-sys-border-opacity);
border-be-successborder-block-end-color: rgba(var(--cds-sys-color-success), var(--cds-sys-border-opacity);
border-is-successborder-inline-start-color: rgba(var(--cds-sys-color-success), var(--cds-sys-border-opacity);
border-ie-successborder-inline-end-color: rgba(var(--cds-sys-color-success), var(--cds-sys-border-opacity);
border-on-successborder-color: rgba(var(--cds-sys-color-on-success), var(--cds-sys-border-opacity);
border-b-on-successborder-block-color: rgba(var(--cds-sys-color-on-success), var(--cds-sys-border-opacity);
border-i-on-successborder-inline-color: rgba(var(--cds-sys-color-on-success), var(--cds-sys-border-opacity);
border-bs-on-successborder-block-start-color: rgba(var(--cds-sys-color-on-success), var(--cds-sys-border-opacity);
border-be-on-successborder-block-end-color: rgba(var(--cds-sys-color-on-success), var(--cds-sys-border-opacity);
border-is-on-successborder-inline-start-color: rgba(var(--cds-sys-color-on-success), var(--cds-sys-border-opacity);
border-ie-on-successborder-inline-end-color: rgba(var(--cds-sys-color-on-success), var(--cds-sys-border-opacity);
border-on-success-containerborder-color: rgba(var(--cds-sys-color-on-success-container), var(--cds-sys-border-opacity);
border-b-on-success-containerborder-block-color: rgba(var(--cds-sys-color-on-success-container), var(--cds-sys-border-opacity);
border-i-on-success-containerborder-inline-color: rgba(var(--cds-sys-color-on-success-container), var(--cds-sys-border-opacity);
border-bs-on-success-containerborder-block-start-color: rgba(var(--cds-sys-color-on-success-container), var(--cds-sys-border-opacity);
border-be-on-success-containerborder-block-end-color: rgba(var(--cds-sys-color-on-success-container), var(--cds-sys-border-opacity);
border-is-on-success-containerborder-inline-start-color: rgba(var(--cds-sys-color-on-success-container), var(--cds-sys-border-opacity);
border-ie-on-success-containerborder-inline-end-color: rgba(var(--cds-sys-color-on-success-container), var(--cds-sys-border-opacity);
border-excellentborder-color: rgba(var(--cds-sys-color-excellent), var(--cds-sys-border-opacity);
border-b-excellentborder-block-color: rgba(var(--cds-sys-color-excellent), var(--cds-sys-border-opacity);
border-i-excellentborder-inline-color: rgba(var(--cds-sys-color-excellent), var(--cds-sys-border-opacity);
border-bs-excellentborder-block-start-color: rgba(var(--cds-sys-color-excellent), var(--cds-sys-border-opacity);
border-be-excellentborder-block-end-color: rgba(var(--cds-sys-color-excellent), var(--cds-sys-border-opacity);
border-is-excellentborder-inline-start-color: rgba(var(--cds-sys-color-excellent), var(--cds-sys-border-opacity);
border-ie-excellentborder-inline-end-color: rgba(var(--cds-sys-color-excellent), var(--cds-sys-border-opacity);
border-on-excellentborder-color: rgba(var(--cds-sys-color-on-excellent), var(--cds-sys-border-opacity);
border-b-on-excellentborder-block-color: rgba(var(--cds-sys-color-on-excellent), var(--cds-sys-border-opacity);
border-i-on-excellentborder-inline-color: rgba(var(--cds-sys-color-on-excellent), var(--cds-sys-border-opacity);
border-bs-on-excellentborder-block-start-color: rgba(var(--cds-sys-color-on-excellent), var(--cds-sys-border-opacity);
border-be-on-excellentborder-block-end-color: rgba(var(--cds-sys-color-on-excellent), var(--cds-sys-border-opacity);
border-is-on-excellentborder-inline-start-color: rgba(var(--cds-sys-color-on-excellent), var(--cds-sys-border-opacity);
border-ie-on-excellentborder-inline-end-color: rgba(var(--cds-sys-color-on-excellent), var(--cds-sys-border-opacity);
border-on-excellent-containerborder-color: rgba(var(--cds-sys-color-on-excellent-container), var(--cds-sys-border-opacity);
border-b-on-excellent-containerborder-block-color: rgba(var(--cds-sys-color-on-excellent-container), var(--cds-sys-border-opacity);
border-i-on-excellent-containerborder-inline-color: rgba(var(--cds-sys-color-on-excellent-container), var(--cds-sys-border-opacity);
border-bs-on-excellent-containerborder-block-start-color: rgba(var(--cds-sys-color-on-excellent-container), var(--cds-sys-border-opacity);
border-be-on-excellent-containerborder-block-end-color: rgba(var(--cds-sys-color-on-excellent-container), var(--cds-sys-border-opacity);
border-is-on-excellent-containerborder-inline-start-color: rgba(var(--cds-sys-color-on-excellent-container), var(--cds-sys-border-opacity);
border-ie-on-excellent-containerborder-inline-end-color: rgba(var(--cds-sys-color-on-excellent-container), var(--cds-sys-border-opacity);
border-on-surfaceborder-color: rgba(var(--cds-sys-color-on-surface), var(--cds-sys-border-opacity);
border-b-on-surfaceborder-block-color: rgba(var(--cds-sys-color-on-surface), var(--cds-sys-border-opacity);
border-i-on-surfaceborder-inline-color: rgba(var(--cds-sys-color-on-surface), var(--cds-sys-border-opacity);
border-bs-on-surfaceborder-block-start-color: rgba(var(--cds-sys-color-on-surface), var(--cds-sys-border-opacity);
border-be-on-surfaceborder-block-end-color: rgba(var(--cds-sys-color-on-surface), var(--cds-sys-border-opacity);
border-is-on-surfaceborder-inline-start-color: rgba(var(--cds-sys-color-on-surface), var(--cds-sys-border-opacity);
border-ie-on-surfaceborder-inline-end-color: rgba(var(--cds-sys-color-on-surface), var(--cds-sys-border-opacity);
border-on-surface-variantborder-color: rgba(var(--cds-sys-color-on-surface-variant), var(--cds-sys-border-opacity);
border-b-on-surface-variantborder-block-color: rgba(var(--cds-sys-color-on-surface-variant), var(--cds-sys-border-opacity);
border-i-on-surface-variantborder-inline-color: rgba(var(--cds-sys-color-on-surface-variant), var(--cds-sys-border-opacity);
border-bs-on-surface-variantborder-block-start-color: rgba(var(--cds-sys-color-on-surface-variant), var(--cds-sys-border-opacity);
border-be-on-surface-variantborder-block-end-color: rgba(var(--cds-sys-color-on-surface-variant), var(--cds-sys-border-opacity);
border-is-on-surface-variantborder-inline-start-color: rgba(var(--cds-sys-color-on-surface-variant), var(--cds-sys-border-opacity);
border-ie-on-surface-variantborder-inline-end-color: rgba(var(--cds-sys-color-on-surface-variant), var(--cds-sys-border-opacity);
border-strokeborder-color: rgba(var(--cds-sys-color-stroke), var(--cds-sys-border-opacity);
border-b-strokeborder-block-color: rgba(var(--cds-sys-color-stroke), var(--cds-sys-border-opacity);
border-i-strokeborder-inline-color: rgba(var(--cds-sys-color-stroke), var(--cds-sys-border-opacity);
border-bs-strokeborder-block-start-color: rgba(var(--cds-sys-color-stroke), var(--cds-sys-border-opacity);
border-be-strokeborder-block-end-color: rgba(var(--cds-sys-color-stroke), var(--cds-sys-border-opacity);
border-is-strokeborder-inline-start-color: rgba(var(--cds-sys-color-stroke), var(--cds-sys-border-opacity);
border-ie-strokeborder-inline-end-color: rgba(var(--cds-sys-color-stroke), var(--cds-sys-border-opacity);
border-stroke-variantborder-color: rgba(var(--cds-sys-color-stroke-variant), var(--cds-sys-border-opacity);
border-b-stroke-variantborder-block-color: rgba(var(--cds-sys-color-stroke-variant), var(--cds-sys-border-opacity);
border-i-stroke-variantborder-inline-color: rgba(var(--cds-sys-color-stroke-variant), var(--cds-sys-border-opacity);
border-bs-stroke-variantborder-block-start-color: rgba(var(--cds-sys-color-stroke-variant), var(--cds-sys-border-opacity);
border-be-stroke-variantborder-block-end-color: rgba(var(--cds-sys-color-stroke-variant), var(--cds-sys-border-opacity);
border-is-stroke-variantborder-inline-start-color: rgba(var(--cds-sys-color-stroke-variant), var(--cds-sys-border-opacity);
border-ie-stroke-variantborder-inline-end-color: rgba(var(--cds-sys-color-stroke-variant), var(--cds-sys-border-opacity);

Setting the border color โ€‹

Control the border color of an element using the border-{color} utilities.

This field is required.
html
<input class="[...] border border-2 border-error" />

Setting the border-color on individual sides โ€‹

Use the border-{i|b}?{e|s}?-{color} utilities to set the border color on the vertical or horizontal sides (based on the text direction) of an element at the same time.

๐Ÿ’ก Tip

In our development practices, we aim to avoid the use of physical properties such as top, bottom, right, and left. Instead, we advocate for the use of logical properties: {block|inline}-{end|start}. To enhance your understanding of these logical properties, we recommend visiting the Foundation/Logical Properties page.

Abbriviation
bblock (default vertical axis)
iinline (default horizontal axis)
sstart (top for block, left for inline)
eend (bottom for block, right for inline)

As an illustration, consider using the class border-bs-primary to apply a border color of the primary color on the top side (inline-end) of the element, based on the text direction.

Similarly, the class border-ie-on-surface will add a border with the on-surface color on the right side (inline-end) of the element, depending on its text direction.

border-i-primary
border-ie-secondary
border-is-on-surface
border-b-error
border-be-success
border-bs-stroke
border-b-stroke-variant, border-is-error, border-ie-success
html
<div class="[...] border border-i-primary">border-i-primary</div>
<div class="[...] border border-ie-secondary">border-ie-secondary</div>
<div class="[...] border border-is-on-surface">border-is-on-surface</div>

<div class="[...] border border-b-error">border-b-error</div>
<div class="[...] border border-be-success">border-be-success</div>
<div class="[...] border border-bs-stroke">border-bs-stroke</div>

<div class="[...] border border-b-stroke-variant border-is-error border-ie-success">
  border-b-stroke-variant, border-is-error, border-ie-success
</div>

Changing the opacity โ€‹

Control the opacity of an elementโ€™s border color using the border-opacity-{name} classes.

For the full list of classes to apply border-opacity, see: Styles/Utilities/Effects/Opacity.