The border-block-start-style property defines the line style of the block-start border on an element. In horizontal writing, that usually means the top border style.
01
Block-Start Style
One logical edge only.
02
solid
Continuous line.
03
dashed / dotted
Soft dividers.
04
3D Styles
groove, ridge, inset.
05
none Default
No border by default.
06
Writing Modes
Adapts to text flow.
Fundamentals
Definition and Usage
The border-block-start-style CSS property is part of the Logical Properties and Values specification. It sets the style of the border on the block-start side of an element. In left-to-right writing modes like English, block-start usually corresponds to the top edge.
This property is especially useful when designing layouts that need to adapt to different writing directions. It lets you control border appearance based on logical content flow instead of fixed physical sides.
💡
Beginner Tip
A border only appears when border-block-start-style is not none. Pair it with border-block-start-width and border-block-start-color, or use border-block-start: 3px solid #3498db; as shorthand.
Foundation
📝 Syntax
The syntax for border-block-start-style is straightforward:
The style value refers to the border line type, such as solid, dashed, or dotted.
Syntax Rules
The initial value is none, which hides the block-start border.
Common values include solid, dashed, and dotted.
3D-style keywords include groove, ridge, inset, and outset.
Pair with width and color longhands, or use the border-block-start shorthand.
Related longhands: border-block-start-width and border-block-start-color.
Cheat Sheet
⚡ Quick Reference
Question
Answer
Initial value
none
Applies to
Block-end border style only
Inherited
No
Animatable
No
Common use
Section headers, card accents, top rules, callout borders
Defaults
Default Value
The default value of border-block-start-style is none, meaning no block-start border is displayed until you choose a visible style.
Reference
💎 Property Values
The border-block-start-style property accepts standard CSS border style keywords.
Value
Description
none
No border is displayed
solid
A single solid line
dashed
A series of dashed lines
dotted
A series of dotted lines
double
Two solid lines with space between them
groove
A 3D grooved border that looks carved in
ridge
A 3D ridged border that looks raised out
inset
A 3D inset border that looks embedded
outset
A 3D outset border that looks raised
hidden
Same as none, but can still affect table layout
previewsolid
previewdotted
previewdashed
previewdouble
previewgroove
previewridge
previewinset
previewoutset
Scope
Block-Start Style and Writing Modes
The block-start edge follows the block axis, so the same style rule adapts when writing mode changes.
Horizontal writing
Dashed block-start (top) border
Vertical writing (vertical-rl)
Logical dashed block-start
Compare
border-block-start-style vs border-top-style
Property
Targets
Best for
border-block-start-style
Logical block-start border style
Multilingual and writing-mode-aware layouts
border-top-style
Physical top border style
Simple horizontal pages with fixed top accents
border-block-start
Width, style, and color together
When you want one shorthand for the full block-start border
Preview
👀 Live Preview
A box with a solid blue block-start border style:
This element has a solid block-start border style.
Uses border-block-start-style: solid; with width and color longhands.
Hands-On
Examples Gallery
Try border-block-start-style with solid, dashed, dotted styles, and vertical writing mode.
📚 Basic Block-Start Styles
Set the block-start border style with width and color longhands so the line is visible.
Example 1 — Solid Block-Start Border
Apply a solid border to the block-start side of a paragraph.
border-block-start-style-solid.html
<style>p{border-block-start-style:solid;border-block-start-width:3px;border-block-start-color:#3498db;padding-block-start:0.75rem;}</style><p>
This paragraph has a solid border on the block-start side.
</p>
With vertical writing, block-start moves with the block axis. The same style keyword still applies to the correct logical edge.
🧠 How border-block-start-style Works
1
You choose a line style
Set solid, dashed, dotted, or another border style keyword.
Style rule
2
You add width and color
Pair the style with border-block-start-width and border-block-start-color.
Border setup
3
The browser draws block-start only
Only the logical block-start edge uses that line style based on writing mode.
Logical mapping
=
⋯
Styled block-start divider
Your element gets a clear visual separator on the logical end edge.
Compatibility
Universal Browser Support
border-block-start-style is supported in all modern browsers. Internet Explorer does not support logical border properties.
✓ Baseline · Modern browsers
Logical border styles in today’s browsers
Chrome, Firefox, Safari, Edge, and Opera support border-block-start-style 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-style as a physical fallback in horizontal layouts.
💻
Internet ExplorerNo support · Use border-top-style instead
None
border-block-start-style property96% supported
Bottom line: Use border-block-start-style confidently in modern logical layout systems.
Wrap Up
Conclusion
The border-block-start-style property is a versatile tool for web developers, especially when creating layouts that need to adapt to different writing directions. By controlling the style of the block-start border, you can add subtle design touches that enhance the overall look and feel of your web pages.
Experiment with different styles such as solid, dashed, and dotted to see how this property can be used in your projects.
Pair style with width and color longhands for predictable results
Try dashed or dotted for softer separators
Use the border-block-start shorthand when setting all three parts
Test block-start styles in vertical writing mode when needed
❌ Don’t
Leave the value at none and expect a visible border
Assume block-start always equals physical top
Use heavy 3D styles everywhere in modern flat UI
Mix physical and logical style properties without a reason
Forget width when using thin styles like dotted or dashed
Summary
Key Takeaways
Knowledge Unlocked
Five things to remember about border-block-start-style
Use these points when styling the logical block-start edge.
5
Core concepts
⋯01
Block-Start Style
One logical edge.
Purpose
—02
none Default
Hidden by default.
Default
📝03
solid / dashed
Most common styles.
Values
⚙️04
Needs Width
Pair with longhands.
Setup
🔄05
Writing Mode
Adapts to flow.
Context
❓ Frequently Asked Questions
The border-block-start-style property sets the line style of the border on the block-start side of an element. In horizontal writing, that is usually the top border style.
The initial value is none, which means no block-start border is displayed until you set a visible style such as solid or dashed.
If the value is none, no border appears. You also need border-block-start-width greater than zero and usually a color, or use the border-block-start shorthand.
border-top-style always styles the physical top edge. border-block-start-style follows the writing mode and stays on the logical block-start side.
solid, dashed, and dotted are the most common for card accents and header rules. double, groove, ridge, inset, and outset create stronger visual effects.