The border-block-start-width property sets the thickness of the logical block-start border. It maps to a physical edge based on writing-mode, direction, and text-orientation.
In the default horizontal writing mode, block-start is usually the top edge, so this property acts like border-top-width. You still need a visible border-block-start-style or the line will not show. It applies to all elements and is not inherited. The initial value is medium.
Standard-track.
Not deprecated and not experimental. Logical border widths have been widely available since 2020.
Flip the block axis.writing-mode: vertical-rl makes lines run vertically.
Keep the logical width. The same border-block-start-width: 8px still targets block-start.
Watch the physical edge move. The thick line is no longer locked to the top of the screen box.
Why logical widths help. One declaration can follow writing mode instead of rewriting border-top-width or border-right-width.
Edge Cases & Pitfalls
If the thickness seems missing, check the style first.
style
Width needs a visible style
If border-block-start-style is none, any width looks like no border. Set solid or another visible keyword.
minus
Negative lengths are invalid
border-block-start-width: -2px is ignored. Use 0 or a positive length.
top
Not the same as border-top-width
border-top-width always hits the physical top. This property follows the block-start side when writing-mode changes.
short
The shorthand can overwrite the width
border-block-start sets width, style, and color together. Writing the shorthand after border-block-start-width replaces that width.
keys
Keywords are not exact pixels
thin, medium, and thick can differ slightly by browser. Use a length when the design needs a fixed size.
Compatibility
Browser Support
border-block-start-width is a browser layout property. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available since 2020
border-block-start-width
Chrome 69+, Firefox 41+, Safari 12.1+, Edge 79+. Internet Explorer has no support.
97%modern browsers
Google Chrome69+
Full support
Mozilla Firefox41+
Full support
Apple Safari12.1+
Full support
Microsoft Edge79+
Full support
Opera56+
Full support
Samsung Internet10.1+
Full support
Internet ExplorerNo support
None
border-block-start-widthWidely supported
Bottom line: Safe for modern browsers. For Internet Explorer, use a physical fallback such as border-top-width when you only need horizontal layouts.
Remember
Key Takeaways
Role: the thickness of the logical block-start border.
medium: the initial value. Also use thin, thick, or a length.
Logical: follows writing mode. Not locked to the physical top.
Pair it: add a visible style and color, or use border-block-start.
One line:border-block-start-width sets how thick the block-start edge is; writing mode chooses which physical side that is.
Frequently Asked Questions
It sets the thickness of the logical block-start border. In the default horizontal writing mode, that is usually the top edge. With a vertical writing mode, the same property follows the block-start side.
The initial value is medium. The exact pixel size of thin, medium, and thick can vary slightly by browser.
Width alone is not enough when the style is none. Set a visible border-block-start-style such as solid, and usually a color that contrasts with the background.
border-top-width always sets the physical top edge. border-block-start-width follows writing-mode, direction, and text-orientation, so it stays on the logical block-start side.
Use one value at a time: a keyword such as thick, or a length such as 8px. Negative lengths are invalid.
Chrome 69+, Firefox 41+, Safari 12.1+, and Edge 79+ support it. Internet Explorer does not. It is a browser layout property, not a Node.js feature.