CSS border-block-end-color Property

Beginner
5 min read
Updated: Oct 2026
3 examples
Live preview

Definition and Usage

The border-block-end-color property sets the color of an element’s logical block-end border. In the default horizontal writing mode, that is usually the bottom border color.

It maps to a physical side based on writing-mode. Color alone does not draw a line — you still need a visible style and width. For both block sides together, use border-block-color.

Baseline · Widely available.

Not deprecated and not experimental. Logical border color properties have been widely available across browsers since early 2020.

CSS Syntax

syntax.css
border-block-end-color: <color> | initial | inherit;

The initial value is currentColor. Pair it with border-block-end-style and border-block-end-width, or the border-block-end shorthand.

Property Values

ValueDescriptionTry it
<color>Any CSS color for the block-end borderTry it
currentColorUses the element’s text color. Initial valueTry it
transparentInvisible color; width still takes spaceTry it
With writing-modePhysical edge changes when writing mode is verticalTry it
initialResets to currentColorTry it
inheritInherits this property from the parent elementTry it

How to Use border-block-end-color

Give the block-end border a style and width first, then set its color.

  1. Draw the edge with border-block-end: 4px solid; or separate width and style longhands.
  2. Set border-block-end-color to the color you want on that edge only.
  3. Leave other edges alone, or color them with their own logical color properties.
  4. Remember: without a style other than none, the color will not show.
PieceRequired?Role
Border styleYes (to show a line)solid, dashed, and so on
Border widthYes (to see color)Zero width hides the color
<color>YesOne color for the block-end edge
writing-modeOptionalChanges which physical edge receives the color

Live Preview

The box already has a solid 4px block-end border. Change only border-block-end-color.

Only the block-end edge is colored. Style and width stay fixed.

Box

border-block-end-color: #2563eb

CSS Examples

Each snippet focuses on border-block-end-color. Style and width are only there so the color can show. Use Try It Yourself for a live editor.

Example 1 — Color the Block-End Edge

In horizontal text, this colors the bottom border only.

CSS
<style>
  div {
    border-block-end: 4px solid;
    border-block-end-color: #2563eb;
    padding: 12px;
  }
</style>

<div>Blue block-end border</div>
Try It Yourself

How It Works

  1. Draw the edge. border-block-end: 4px solid sets width and style on block-end.
  2. Set the color. border-block-end-color: #2563eb paints that edge blue.
  3. Leave other sides alone. Top, left, and right stay without a border here.
  4. Map to physical bottom. With default horizontal-tb, block-end is the bottom edge.

Example 2 — currentColor

Let the block-end border follow the text color.

CSS
<style>
  div {
    color: #7c3aed;
    border-block-end: 4px solid;
    border-block-end-color: currentColor;
    padding: 12px;
  }
</style>

<div>Border matches text color</div>
Try It Yourself

How It Works

  1. Set the text color. color: #7c3aed is what currentColor reads.
  2. Draw the block-end border. Style and width are still required.
  3. Point color at the text. border-block-end-color: currentColor copies that purple.
  4. Initial behavior. If you omit this property, browsers already use currentColor by default.

Example 3 — Vertical Writing Mode

Change the writing mode and the same color maps to a different physical edge.

CSS
<style>
  div {
    writing-mode: vertical-rl;
    border-block-end: 4px solid;
    border-block-end-color: #0f766e;
    padding: 12px;
  }
</style>

<div>Color follows writing mode</div>
Try It Yourself

How It Works

  1. Flip the flow. writing-mode: vertical-rl stacks lines vertically.
  2. Keep the logical color. border-block-end-color still means the end of the block axis.
  3. Watch the physical map. That edge is no longer the bottom; with vertical-rl it lands on the left.
  4. Why it matters. One logical color stays correct across writing modes, unlike hard-coded border-bottom-color.

Edge Cases & Pitfalls

If the color seems missing, check these first.

style

Color needs a visible style

border-block-end-color alone never draws a line. Add border-block-end-style or a border-block-end shorthand with a style.

width

Zero width hides the color

A border with 0 width has nowhere to show the color. Set a positive border-block-end-width.

shorthand

border-block-end can overwrite color

Writing border-block-end: 4px solid red after your color rule replaces it. Put border-block-end-color after the shorthand, or include the color in the shorthand.

physical

Not always the bottom

With writing-mode: vertical-rl, block-end maps to the left. border-bottom-color does not follow that shift.

axis

Other edges need other properties

This property never colors block-start or the inline sides. Use border-block-start-color or border-inline-end-color for those.

Browser Support

border-block-end-color is a browser CSS property for logical border colors. Node.js, Deno, and Bun do not apply it.

✓ Baseline · Widely available

border-block-end-color

Chrome 69+, Edge 79+, Firefox 41+, Safari 12.1+. Internet Explorer has no support.

97% Modern browser support
Google Chrome 69+
Full support
Mozilla Firefox 41+
Full support
Apple Safari 12.1+
Full support
Microsoft Edge 79+
Full support
Opera 56+
Full support
Samsung Internet 10+
Full support
Internet Explorer No support
Not supported
border-block-end-color Widely supported

Bottom line: Safe for modern browsers. Fall back to border-bottom-color only when you must support Internet Explorer and stay in horizontal writing modes. It is not a runtime API.

Key Takeaways

  • Role: color only the logical block-end border.
  • Needs a line: style and width must exist before color is visible.
  • Not border-bottom-color: physical bottom never follows writing mode.
  • Initial value: currentColor. Not inherited.

One line: visible block-end border + border-block-end-color: blue; = a colored rule on the block-end edge.

Frequently Asked Questions

It sets the color of the border on the logical block-end edge only. In horizontal writing that is usually the bottom border color.
The initial value is currentColor, which uses the element’s text color for the block-end border.
Color alone does not draw a border. You also need a visible style such as solid and a width greater than zero, or use the border-block-end shorthand.
border-bottom-color always colors the physical bottom edge. border-block-end-color follows writing-mode and stays on the logical block-end side.
Use border-block-color for both block-start and block-end, or set border-block-start-color and border-block-end-color separately.
It is Baseline Widely available. Chrome 69+, Edge 79+, Firefox 41+, and Safari 12.1+ support it. Internet Explorer does not. It is a browser CSS property, not a Node.js feature.

Next: border-block-end-style

Choose solid, dashed, dotted, and other styles for the block-end border.

border-block-end-style tutorial →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

8 people found this page helpful