CSS padding-block-end Property

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

What You’ll Learn

The padding-block-end property sets inner spacing on the block-end side of an element. In horizontal writing modes, that is usually the bottom padding between content and the border.

01

Block-End Only

One logical edge.

02

Syntax

Single value.

03

Units

px, em, rem, %.

04

Writing Modes

Follows block axis.

05

Default 0

No spacing by default.

06

padding-block

Block-axis shorthand.

Introduction

The padding-block-end property in CSS is part of the Logical Properties and Values specification. It sets the padding on the block-end side of an element, which corresponds to the bottom edge in horizontal writing modes such as English.

This property is useful for creating layouts that adapt to different writing modes, such as vertical text or multilingual pages where the block axis may not align with physical top and bottom edges.

Definition and Usage

Apply padding-block-end when you need inner spacing on only the block-end side and want that spacing to follow the block axis instead of a fixed physical bottom edge. Use it for paragraph spacing, list item gaps, card footers, and any component that needs extra room after the content along the block direction.

Like regular padding, padding-block-end increases the visible size of an element’s background and border box. It never collapses and always stays inside the element’s border.

💡
Beginner Tip

In horizontal writing modes, padding-block-end: 20px; looks like bottom padding. RTL changes inline-start and inline-end, not block-end — block-end stays at the bottom until the writing mode itself changes.

Horizontal writing → block-end is bottom Vertical writing → block-end follows text flow

📝 Syntax

The syntax for the padding-block-end property is straightforward. You can specify the padding value using units like pixels, ems, percentages, and more.

syntax.css
element {

  padding-block-end: value;

}

Here, value can be a length, percentage, or the keyword auto.

Basic Example

padding-block-end.css
p {

  padding-block-end: 20px;

  border: 1px solid #ccc;

}

⚡ Quick Reference

QuestionAnswer
Initial value0
Applies toBlock-end padding side only
InheritedNo
AnimatableYes, as a length
Common useParagraph spacing, list gaps, card footers, and writing-mode-aware block-end spacing

🎯 Default Value

The default value of the padding-block-end property is 0, which means there is no padding applied on the block-end side unless you set it explicitly.

💎 Property Values

ValueExampleDescription
Lengthpadding-block-end: 20px;A fixed value such as 10px, 1em, 2rem, etc.
Percentagepadding-block-end: 5%;A percentage of the containing block’s inline size, such as 5%.
autopadding-block-end: auto;The browser calculates the padding automatically.
padding-block-end: 20px; padding-block-end: 1.5rem; padding-block-end: 5%;

👀 Live Preview

Four boxes with the same content and different pbe- utility classes showing increasing block-end inner spacing:

pbe-sm
pbe-md
pbe-lg
pbe-xl

Examples Gallery

Start with the reference paragraph example, try different block-end values, add spacing between stacked items, and compare logical block-end padding with physical bottom padding.

🔢 Basic padding-block-end

Start with the reference example — block-end padding on a paragraph with a visible border.

Example 1 — Paragraph with Block-End Padding

In this example, we’ll set the padding-block-end property to add padding at the block-end of a paragraph.

padding-block-end-example.html
<style>

  p {

    padding-block-end: 20px;

    border: 1px solid #ccc;

  }

</style>



<p>

  This paragraph has 20px of padding at the block-end, which is at the bottom in this writing mode.

</p>
Try It Yourself

How It Works

The border wraps the content and padding area together, so the 20px gap appears between the text and the bottom border edge along the block-end side.

Example 2 — Different Block-End Values

Use rem units for scalable block-end spacing that grows with root font size.

padding-block-end-rem.css
.compact {

  padding-block-end: 0.5rem;

}



.comfortable {

  padding-block-end: 1.5rem;

}



.spacious {

  padding-block-end: 2.5rem;

}
Try It Yourself

How It Works

Each class sets a different block-end padding while leaving block-start unchanged. The background fills the padding area so you can compare the spacing visually.

🛠 Layout Patterns

Apply block-end padding to stacked content and compare logical vs physical properties.

Example 3 — Stack Item Spacing

Add block-end padding to list items so each row has breathing room before the next item.

padding-block-end-stack.css
.stack-item {

  padding-block-end: 1rem;

  border-block-end: 1px solid #e2e8f0;

}



.stack-item:last-child {

  padding-block-end: 0;

  border-block-end: none;

}
Try It Yourself

How It Works

Block-end padding creates space between the item content and its divider line. Removing padding on the last item avoids extra empty space at the bottom of the stack.

Example 4 — Logical vs Physical Block-End

Compare padding-block-end with padding-bottom.

padding-block-end-logical.css
/* Logical — follows writing mode */

.logical {

  padding-block-end: 24px;

}



/* Physical — fixed to bottom edge */

.physical {

  padding-bottom: 24px;

}
Try It Yourself

How It Works

In horizontal English, both approaches look the same. padding-block-end stays correct when writing mode changes; physical bottom padding does not.

padding-block-end vs padding-block, padding-bottom & block-start

The padding-block shorthand sets both block-start and block-end padding in one declaration. Use padding-block-end when you need spacing on only the block-end side.

padding-bottom always targets the physical bottom edge. Pair padding-block-end with padding-block-start for full per-edge block-axis control, or use padding for physical four-side shorthand.

padding-block-end-companion.css
/* Block-end only */

.card-footer {

  padding-block-end: 1.25rem;

}



/* Both block sides via shorthand */

.section {

  padding-block: 1rem 2rem;

}



/* Physical fallback for older browsers */

.legacy-card {

  padding-bottom: 1.25rem;

}

♿ Accessibility

  • Improve readability — Paragraphs and list items benefit from block-end padding so content does not crowd divider lines or borders.
  • Respect writing modes — Logical block-end padding keeps spacing correct for users of vertical or mixed writing-mode layouts.
  • Do not hide content — Very large block-end padding on small screens can push important content out of view.
  • Keep focus visible — Padding adjusts inner spacing; it should not replace visible focus outlines on interactive elements.
  • Test zoomed layouts — Users who zoom in rely on comfortable padding to keep text readable.

🧠 How padding-block-end Works

1

The browser finds block-end

Writing mode decides which physical edge is block-end. In horizontal-tb, that is the bottom edge regardless of text direction.

Writing mode
2

You set a padding value

Write padding-block-end: 20px; with a length, percentage, or auto.

CSS rule
3

Browser adds space on block-end

Padding is inserted between the content edge and the border on the block-end side only.

Box model
=

Targeted block-end spacing

Content has breathing room after it along the block axis without affecting block-start.

Browser Compatibility

The padding-block-end property is supported in most modern browsers, including the latest versions of Chrome, Firefox, Safari, Edge, and Opera. However, it is always a good practice to test your website across different browsers to ensure compatibility.

Baseline · Modern browsers

Logical block-end padding in today’s browsers

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

96% Modern browser support
Google Chrome 69+ · Desktop & Mobile
Full support
Mozilla Firefox 41+ · Desktop & Mobile
Full support
Apple Safari 12.1+ · macOS & iOS
Full support
Microsoft Edge 79+ · Chromium
Full support
Opera 56+ · Modern versions
Full support
padding-block-end property 96% supported

Bottom line: Safe to use in modern projects. For older browsers, pair with padding-bottom as a fallback.

Conclusion

The padding-block-end property provides a flexible way to control the padding at the block-end side of an element, adapting to different writing modes and text directions.

It is especially useful for creating multilingual websites where the layout needs to respond to various text orientations. Experiment with this property to achieve consistent and responsive design across different languages and devices.

💡 Best Practices

✅ Do

  • Use padding-block-end for spacing after content along the block axis
  • Prefer rem or em for scalable block-end spacing
  • Pair with padding-block-start for per-edge block control
  • Use logical properties in multilingual or vertical writing-mode layouts
  • Provide padding-bottom fallback for legacy browser support

❌ Don’t

  • Assume RTL changes block-end in horizontal writing modes
  • Confuse block-end with inline-end (right in LTR)
  • Use excessive block-end padding that breaks mobile layouts
  • Forget that percentage padding is based on inline size
  • Replace margin with padding-block-end for outer spacing between elements

Key Takeaways

Knowledge Unlocked

Five things to remember about padding-block-end

Use these points when spacing content on the block-end side.

5
Core concepts
0 02

Default 0

No spacing.

Default
wm 03

Writing Mode

Bottom in horizontal-tb.

Axis
% 04

Units

px, em, rem, %, auto.

Values
pb 05

Not padding-bottom

Logical vs physical.

Companion

❓ Frequently Asked Questions

The padding-block-end property sets inner spacing on the block-end side of an element. In horizontal writing modes, that is usually the bottom padding between the content and the border.
The default value is 0, meaning no block-end inner spacing is applied unless you set padding-block-end explicitly.
padding-bottom always targets the physical bottom edge. padding-block-end follows the block axis, so it stays correct when the writing mode changes, such as in vertical text layouts.
In horizontal writing modes, block-end is still the bottom edge. RTL affects inline-start and inline-end (left and right), not block-end. Block-end only changes when the writing mode changes, for example to vertical-rl.
Use padding-block-end when you need spacing on only the block-end side and want that spacing to follow logical CSS. It pairs well with padding-block-start and the padding-block shorthand.

Practice in the Live Editor

Open the HTML editor, try different padding-block-end values, and see how block-end spacing changes your layout 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