In the default horizontal writing mode, that means top and bottom. Change writing-mode, and the same rule can map to the left and right edges instead. For the other axis, use border-inline.
Baseline · Widely available.
Not deprecated and not experimental. Logical border shorthands have been widely available across browsers since 2021.
border-block never paints the inline edges. Pair it with border-inline, or use border for all four sides.
overlap
Physical and logical can fight
Setting both border-top and border-block can override each other depending on cascade order. Prefer one model in a component.
Compatibility
Browser Support
border-block is a browser CSS property for logical borders. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available
border-block
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-blockWidely supported
Bottom line: Safe for modern browsers. Fall back to border-top and border-bottom only when you must support Internet Explorer. It is not a runtime API.
Remember
Key Takeaways
Role: one shorthand for matching borders on both logical block sides.
Logical mapping: usually top and bottom; can become left and right with vertical writing modes.
Not split values: both sides stay the same. Use start/end longhands to differ.
Style required. Not inherited. Pair with border-inline for the other axis.
One line:border-block: 4px solid blue; paints matching borders on the block axis โ wherever that axis points.
Frequently Asked Questions
It is a logical shorthand that sets border-block-width, border-block-style, and border-block-color on both the block-start and block-end sides at once.
A border needs a visible style. The initial style is none, so width or color alone will not draw a line. Use solid, dashed, or another style.
border-top and border-bottom always mean physical top and bottom. border-block follows writing-mode, so in horizontal text it maps to top and bottom, and in vertical text it can map to the left and right edges.
No. One border-block value styles both block sides the same. For different sides, use border-block-start and border-block-end.
Use border-inline for the inline-start and inline-end sides. Together, border-block and border-inline cover all four logical edges.
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.