The border-block-start property is a logical CSS shorthand for styling the border on the block-start side of an element. In horizontal writing, that usually means the top edge.
01
Block-Start
Start of block flow.
02
Shorthand
Width, style, color.
03
Longhands
Width, style, color split.
04
One Edge
Only block-start border.
05
Writing Modes
Adapts to text flow.
06
vs border-top
Physical vs logical.
Fundamentals
Definition and Usage
The border-block-start CSS property sets the style, width, and color of the border on the start side of an element’s block axis. In languages such as English, where text flows from left to right and top to bottom, the block-start edge corresponds to the top edge.
This property is particularly useful when designing for different writing modes, ensuring that the border adapts to the flow of content in various languages and layout directions.
💡
Beginner Tip
In a normal English page, border-block-start: 5px solid blue; looks like a top border. The benefit is that it stays on the correct logical edge when writing mode changes.
Foundation
📝 Syntax
The border-block-start property can be set using one or more of the following values. Each value is optional, but at least one must be provided for a visible border:
Multilingual layouts and writing-mode-aware components
border-top
Physical top edge always
Simple horizontal pages with fixed top borders
border-block-end
Logical block-end edge
Bottom-or-end edge styling in logical layouts
border-block
Both block-start and block-end
When both logical block edges need the same border
Preview
👀 Live Preview
A box with a 5px solid blue border on the block-start side:
This element has a border on the block-start side.
In horizontal writing, border-block-start: 5px solid #2563eb; appears as a top border.
Hands-On
Examples Gallery
Try border-block-start on paragraphs, card accents, dashed headers, and vertical writing mode.
📚 Basic border-block-start
Apply a single logical border on the block-start edge with one shorthand rule.
Example 1 — Solid Blue Block-Start Border
Apply a solid blue border to the block-start side of a paragraph element.
border-block-start-basic.html
<style>p{border-block-start:5px solid blue;padding-block-start:0.75rem;}</style><p>
This paragraph has a solid blue border on the block-start side. In English, this is the top edge.
</p>
With writing-mode: vertical-rl, block-start no longer means physical top. The same property still targets the correct logical edge.
🧠 How border-block-start Works
1
The browser finds block-start
Writing mode decides which physical edge is the block-start side.
Writing mode
2
You set width, style, and color
Write one shorthand such as border-block-start: 5px solid blue;.
CSS rule
3
Only that edge is styled
Other borders remain unchanged unless you set them separately.
Single edge
=
▦️
Logical start-edge border
Your element gets a clear border on the logical start of the block flow.
Compatibility
Universal Browser Support
border-block-start is supported in all modern browsers. Internet Explorer does not support logical border properties.
✓ Baseline · Modern browsers
Logical border shorthands in today’s browsers
Chrome, Firefox, Safari, Edge, and Opera support border-block-start in current versions.
96%Modern browser support
Google Chrome69+ · Desktop & Mobile
Full support
Mozilla Firefox66+ · Desktop & Mobile
Full support
Apple Safari12.1+ · macOS & iOS
Full support
Microsoft Edge79+ · Chromium
Full support
Opera56+ · Modern versions
Full support
Fallback behavior
For older browsers, use border-top as a physical fallback in horizontal layouts.
💻
Internet ExplorerNo support · Use border-top instead
None
border-block-start property96% supported
Bottom line: Test across browsers when your site supports multiple writing modes.
Wrap Up
Conclusion
The border-block-start property is an excellent tool for adding a border to the start of an element’s block in a way that respects the writing mode of the document. This allows for more flexible and language-sensitive designs.
By using this property, you can control the appearance of your website’s elements more precisely and ensure a consistent visual experience across different languages and writing directions.
Use border-block-start for card accents and section header rules
Include a visible style such as solid in the shorthand
Pair with padding-block-start for comfortable spacing
Use longhands when you need to change only one part of the border
Test block-start borders in vertical writing mode when needed
❌ Don’t
Assume block-start always equals physical top
Forget a style keyword and expect a visible border
Mix physical and logical border properties without a reason
Use thick block-start borders on every element in minimal UI
Skip browser testing for multilingual layouts
Summary
Key Takeaways
Knowledge Unlocked
Five things to remember about border-block-start
Use these points when styling the logical block-start edge.
5
Core concepts
▦️01
Block-Start Shorthand
Width, style, color.
Purpose
⚙️02
medium none currentColor
Default = hidden.
Default
📝03
Three Longhands
Width, style, color.
Parts
🖼️04
Card Accents
Common UI pattern.
Use case
🔄05
Writing Mode
Adapts to flow.
Context
❓ Frequently Asked Questions
The border-block-start property is a shorthand that sets the width, style, and color of the border on the block-start side of an element. In horizontal writing, that is usually the top border.
The shorthand defaults to medium none currentColor, meaning no visible border until you set a style other than none.
border-top always targets the physical top edge. border-block-start follows the writing mode, so it stays correct when text flow or direction changes.
It is shorthand for border-block-start-width, border-block-start-style, and border-block-start-color.
Use it when you need a border on only the block-start edge in a logical layout, such as a card accent line or section header rule that should adapt to writing mode.