CSS border-block-end Property

Beginner
⏱️ 5 min read
📚 Updated: Jun 2026
🎯 4 Examples
Logical CSS & Borders

What You’ll Learn

The border-block-end property is a logical CSS shorthand for styling the border on the block-end side of an element. In horizontal writing, that usually means the bottom edge.

01

Block-End

End of block flow.

02

Shorthand

Width, style, color.

03

Longhands

Width, style, color split.

04

One Edge

Only block-end border.

05

Writing Modes

Adapts to text flow.

06

vs border-bottom

Physical vs logical.

Definition and Usage

The border-block-end CSS property is a logical shorthand that sets the width, style, and color of the border on the block-end side of an element. The block-end side is the end of the block flow, which changes depending on the writing mode.

This property is useful for controlling borders in a way that adapts to different languages and text directions. It is commonly used for dividers, underlines on content blocks, and section separators that should follow logical layout rules.

💡
Beginner Tip

In a normal English page, border-block-end: 3px solid blue; looks like a bottom border. The benefit is that it stays on the correct logical edge when writing mode changes.

📝 Syntax

The border-block-end shorthand sets width, style, and color on the block-end edge:

syntax.css
selector {
  border-block-end: <border-width> <border-style> <border-color>;
}

Basic Example

border-block-end.css
p {
  border-block-end: 3px solid blue;
}

You can also set the parts individually with longhand properties:

border-block-end-width

Sets thickness on block-end only.

border-block-end-style

Sets line style on block-end only.

border-block-end-color

Sets color on block-end only.

Syntax Rules

  • Values follow the usual border order: width, then style, then color.
  • A visible style such as solid is required for the border to show.
  • Only the block-end edge is affected; other sides keep their existing borders.
  • Pair with border-block-start when you need both logical block edges styled.
  • Use padding-block-end to add space between content and the border.

⚡ Quick Reference

QuestionAnswer
Initial valuemedium none currentColor
Applies toBlock-end border side only
InheritedNo
AnimatablePartially (color and width in supporting browsers)
Common useSection dividers, paragraph rules, footer borders

Default Value

The default value for border-block-end comes from its longhand parts:

  • border-block-end-widthmedium
  • border-block-end-stylenone
  • border-block-end-colorcurrentColor

Because the default style is none, no border is visible until you set a visible style such as solid.

💎 Property Values

The border-block-end shorthand accepts the same value types as other border shorthands.

ValueExampleMeaning
<border-width>border-block-end: 2px solid black;Thickness using px, em, rem, thin, medium, or thick
<border-style>border-block-end: 2px dashed black;Line style such as solid, dotted, dashed, or double
<border-color>border-block-end: 2px solid #2563eb;Any valid CSS color value or currentColor

Block-End and Writing Modes

The block-end edge follows the block axis, so the same rule adapts when writing mode changes.

Horizontal writing → block-end = bottom Vertical writing → block-end moves with flow

Horizontal writing

Border on the block-end (bottom) edge

Vertical writing (vertical-rl)

Logical block-end border

border-block-end vs border-bottom

PropertyTargetsBest for
border-block-endLogical block-end edgeMultilingual layouts and writing-mode-aware components
border-bottomPhysical bottom edge alwaysSimple horizontal pages with fixed bottom borders
border-block-startLogical block-start edgeTop-or-start edge styling in logical layouts
border-blockBoth block-start and block-endWhen both logical block edges need the same border

👀 Live Preview

A box with a 3px solid blue border on the block-end side:

This element has a border on the block-end side.

In horizontal writing, border-block-end: 3px solid #2563eb; appears as a bottom border.

Examples Gallery

Try border-block-end on paragraphs, list items, dashed dividers, and vertical writing mode.

📚 Basic border-block-end

Apply a single logical border on the block-end edge with one shorthand rule.

Example 1 — Solid Blue Block-End Border

Apply a 3px solid blue border to the block-end side of a paragraph.

border-block-end-basic.html
<style>
  p {
    border-block-end: 3px solid blue;
    padding-block-end: 0.75rem;
  }
</style>

<p>
  This paragraph has a 3px solid blue border on the block-end side.
</p>
Try It Yourself

How It Works

The shorthand styles only the block-end edge. In horizontal writing, that appears as a bottom border beneath the paragraph text.

Example 2 — List Item Divider

Use block-end borders to separate stacked list items without affecting other sides.

border-block-end-list.css
.menu-item {
  border-block-end: 1px solid #e2e8f0;
  padding-block: 0.75rem;
}
.menu-item:last-child {
  border-block-end: none;
}
Try It Yourself

How It Works

Each item gets a subtle block-end divider. Removing the border on the last item avoids an extra line at the bottom of the list.

🎨 Border Styles

Change the style keyword to create dashed, dotted, or other block-end border effects.

Example 3 — Dashed Block-End Border

Use a dashed style for a softer section separator on the block-end edge.

border-block-end-dashed.css
.note {
  border-block-end: 2px dashed #059669;
  padding-block-end: 1rem;
  margin-block-end: 1rem;
}
Try It Yourself

How It Works

Only the style keyword changes. The border still targets the logical block-end edge while using a dashed line pattern.

Example 4 — border-block-end in Vertical Writing Mode

See how the block-end border follows the writing mode instead of staying on the physical bottom.

border-block-end-vertical.css
.vertical-panel {
  writing-mode: vertical-rl;
  border-block-end: 3px solid #7c3aed;
  padding: 1rem;
}
Try It Yourself

How It Works

With writing-mode: vertical-rl, block-end no longer means physical bottom. The same property still targets the correct logical edge.

🧠 How border-block-end Works

1

The browser finds block-end

Writing mode decides which physical edge is the block-end side.

Writing mode
2

You set width, style, and color

Write one shorthand such as border-block-end: 3px solid blue;.

CSS rule
3

Only that edge is styled

Other borders remain unchanged unless you set them separately.

Single edge
=

Logical end-edge border

Your element gets a clean divider on the block-end side that adapts to layout direction.

Universal Browser Support

border-block-end is supported in all modern browsers. Internet Explorer does not support logical border properties.

Baseline · Modern browsers

Logical block-end borders in today’s browsers

Chrome, Firefox, Safari, Edge, and Opera support border-block-end in current versions.

96% Modern browser support
Google Chrome69+ · Desktop & Mobile
Full support
Mozilla Firefox41+ · 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-bottom as a physical fallback in horizontal layouts.

💻
Internet Explorer No support · Use border-bottom instead
None
border-block-end property 96% supported

Bottom line: Use border-block-end confidently in modern logical layout systems.

Conclusion

The border-block-end property is a versatile tool for applying borders in a way that respects the logical flow of content, especially on multilingual websites.

By using logical properties like this, you can create designs that are more adaptable and maintainable. Experiment with different border styles, widths, and colors to enhance your layouts.

💡 Best Practices

✅ Do

  • Use border-block-end for section dividers and list separators
  • Pair with padding-block-end so content does not touch the border
  • Prefer logical borders in components that may change writing mode
  • Remove block-end borders on the last item in a stacked list when needed
  • Use longhands when you only need to change one part such as color

❌ Don’t

  • Assume block-end always equals physical bottom in every layout
  • Set color or width without a visible border style
  • Mix physical and logical edge borders on the same component without reason
  • Use heavy block-end borders on every element in a dense UI
  • Skip fallbacks only when older browser support is required

Key Takeaways

Knowledge Unlocked

Five things to remember about border-block-end

Use these points when styling the logical block-end edge.

5
Core concepts
📝02

Shorthand

Width, style, color.

Syntax
⚙️03

Longhands

Split width/style/color.

Control
🔄04

Writing Mode

Adapts to text flow.

Context
🛠05

One Edge Only

Other sides unchanged.

Scope

❓ Frequently Asked Questions

The border-block-end property is a shorthand that sets the width, style, and color of the border on the block-end side of an element. In horizontal writing, that is usually the bottom border.
The shorthand defaults to medium none currentColor, meaning no visible border until you set a style other than none.
border-bottom always targets the physical bottom edge. border-block-end follows the writing mode, so it stays correct when text flow or direction changes.
It is shorthand for border-block-end-width, border-block-end-style, and border-block-end-color.
Use it when you need a border on only the block-end edge in a logical layout, such as a section divider or footer rule that should adapt to writing mode.

Practice in the Live Editor

Open the HTML editor, try border-block-end, and preview logical end-edge borders instantly.

HTML Editor →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

5 people found this page helpful