The initial value is currentColor, so the border follows the element’s color unless you override it. For a writing-mode-aware end edge, use border-block-end-color. To set all four sides at once, use border-color.
Standard-track.
Not deprecated. Supported in every major browser for many years, including Internet Explorer 4+.
Experimental.
Newer specs allow some image-based border colors (such as stripes()). Stick to normal <color> values for reliable support.
Syntax
CSS Syntax
syntax.css
border-bottom-color:<color> | initial | inherit;
The initial value is currentColor. Any valid CSS color works: named colors, hex, rgb(), hsl(), and more.
Values
Property Values
Value
Description
Try it
<color>
Any CSS color, such as #1d4ed8, crimson, or rgb(15 118 110)
A later border-bottom: 2px solid resets color to currentColor. Put the color in the shorthand, or set border-bottom-color after it.
physical
Always the physical bottom
Vertical writing modes do not move this edge. Use border-block-end-color when the color must follow the block axis.
transparent
Transparent is not none
transparent keeps the border box size. none removes the border. Pick the one that matches the layout you want.
default
Default follows text color
If you never set this property, the border uses currentColor. Changing color can change the border too.
Compatibility
Browser Support
border-bottom-color is a browser style property. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available
border-bottom-color
Chrome 1+, Firefox 1+, Safari 1+, Edge 12+, Opera 3.5+, Internet Explorer 4+. Safe everywhere in practice.
99%global support
Google Chrome1+
Full support
Mozilla Firefox1+
Full support
Apple Safari1+
Full support
Microsoft Edge12+
Full support
Opera3.5+
Full support
Samsung Internet1+
Full support
Internet Explorer4+
Full support
border-bottom-colorUniversally supported
Bottom line: Normal color values are universal. Newer image-based border colors are not needed for everyday work and may still be missing in some browsers.
Remember
Key Takeaways
Role: set the color of the physical bottom border only.
Default:currentColor, so the border can follow the text color.
Needs a line: pair with width and a visible style.
Physical edge: for logical block-end, use border-block-end-color.
One line:border-bottom-color paints the bottom edge after width and style are set.
Frequently Asked Questions
It sets the color of the physical bottom border only. The other three sides stay unchanged unless you set them separately.
The initial value is currentColor, which uses the element text color for the bottom border.
Color alone is not enough. You also need a visible border-bottom-style such as solid and a width greater than zero, or use the border-bottom shorthand.
border-bottom-color always colors the physical bottom edge. border-block-end-color follows the writing mode and stays on the logical block-end side.
currentColor makes the bottom border use the same color as the element color property. Change the text color, and the border color follows.
It is supported in all modern browsers and goes back to Chrome 1, Firefox 1, Safari 1, Edge 12, Opera 3.5, and Internet Explorer 4. It is a browser style property, not a Node.js feature.