It always targets the bottom edge of the box, not a logical side. For writing-mode-aware layouts, use border-block-end instead. Related physical sides are border-top, border-left, and border-right.
Standard-track.
Not deprecated and not experimental. Supported in every major browser for many years, including Internet Explorer 4+.
Experimental.
A hairline width keyword appears in newer border specs, but browsers do not support it reliably yet. Prefer thin or a length such as 1px.
Pick double. The browser draws two parallel lines on the bottom edge.
Give it room.6px leaves space between the strokes. A 1px double often looks like a single line.
One declaration. Width, style, and color stay together in the shorthand.
Still only the bottom. The other sides remain blank.
Edge Cases & Pitfalls
Most missing borders come from the shorthand resetting style to none.
reset
Omitting style hides the border
border-bottom: thick green; looks incomplete, but the missing style becomes none, so nothing draws. Always include a style, or set border-bottom-style on its own.
order
Shorthand after a longhand wins
If you set border-bottom-style: dotted and then border-bottom: thick green, the dotted style is wiped. Write the shorthand first, or put the longhand after it.
physical
Always the physical bottom
Vertical writing modes do not move this edge. Use border-block-end when the border must follow the block axis.
double
double needs thickness
A very thin double border often looks like one line. Use at least a few pixels so both strokes show.
box
Borders add to the box size
With the default content-box model, a bottom border increases the element’s outer height. Use box-sizing: border-box when you want the border inside a fixed height.
Compatibility
Browser Support
border-bottom is a browser style property. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available
border-bottom
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-bottomUniversally supported
Bottom line: One of the oldest CSS border shorthands. No prefix and no special fallback are needed in current or legacy desktop browsers.
Remember
Key Takeaways
Role: set width, style, and color of the physical bottom border only.
Style is required: omit it and the shorthand resets to none.
Any order: width, style, and color may appear in any order.
Physical edge: for logical block-end, use border-block-end.
One line:border-bottom paints the bottom edge when you include a visible style.
Frequently Asked Questions
It is a shorthand that sets the width, style, and color of the physical bottom border only. The other three sides stay unchanged.
As a shorthand it resets to medium none currentColor. Because the style is none, you see no border until you set a visible style such as solid.
The shorthand always resets omitted parts to their defaults. If you omit the style, it becomes none and the border vanishes. Include a style, or set the longhands separately.
border-bottom always paints the physical bottom edge. border-block-end follows the writing mode and stays on the logical block-end side.
Yes. Width, style, and color may appear in any order. You can also omit one or two of them, but omitted parts reset to their defaults.
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.