The border-block-color property sets the color of an element’s logical block-start and block-end borders. In the default horizontal writing mode, that means the top and bottom border colors.
One color paints both sides. Two colors set start first and end second. It maps to physical sides based on writing-mode. For the other axis, use border-inline-color.
Baseline · Widely available.
Not deprecated and not experimental. Logical border color properties have been widely available across browsers since 2021.
A border with 0 width has nowhere to show the color. Set a positive border-block-width.
order
Two values are start then end
border-block-color: blue green means blue on block-start and green on block-end. Swap them if the wrong edge looks wrong.
shorthand
border-block can overwrite color
Writing border-block: 4px solid red after your color rule replaces it. Put border-block-color after the shorthand, or include the color in the shorthand.
axis
Inline sides need another property
This property never colors left/right in horizontal text. Use border-inline-color for the inline axis.
Compatibility
Browser Support
border-block-color is a browser CSS property for logical border colors. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available
border-block-color
Chrome 87+, Edge 87+, Firefox 66+, Safari 14.1+. Internet Explorer has no support.
97%Modern browser support
Google Chrome87+
Full support
Mozilla Firefox66+
Full support
Apple Safari14.1+
Full support
Microsoft Edge87+
Full support
Opera73+
Full support
Samsung Internet14+
Full support
Internet ExplorerNo support
Not supported
border-block-colorWidely supported
Bottom line: Safe for modern browsers. Fall back to border-top-color and border-bottom-color only when you must support Internet Explorer. It is not a runtime API.
Remember
Key Takeaways
Role: color the logical block-start and block-end borders.
One or two colors: one for both sides; two for start then end.
Needs a line: style and width must exist before color is visible.
Initial value:currentColor. Not inherited. Follows writing mode.
One line: visible block border + border-block-color: blue green; = colored start and end on the block axis.
Frequently Asked Questions
It sets the color of the logical block-start and block-end borders. In horizontal writing those are usually the top and bottom border colors.
The initial value is currentColor, which uses the element’s text color for both block borders.
Yes. One color paints both sides. Two colors set block-start first and block-end second, for example border-block-color: blue green.
Color alone does not draw a border. You also need a visible style such as solid and a width greater than zero.
border-color targets physical sides. border-block-color targets only the logical block axis and follows writing-mode.
It is Baseline Widely available. Chrome 87+, Edge 87+, Firefox 66+, and Safari 14.1+ support it. Internet Explorer does not. It is a browser CSS property, not a Node.js feature.