The padding-block-end property sets the inner padding on the block-end edge of an element. In a horizontal writing mode (the usual default), that maps to the physical bottom — like padding-bottom.
With a vertical writing-mode, it can map to left or right instead. It is one half of the padding-block shorthand (with padding-block-start). It is not inherited. The initial value is 0. Negative values are invalid.
Baseline · Widely available.
Not deprecated. Cross-browser since about January 2020. Prefer it over padding-bottom when writing mode may change.
Logical tip.
Use padding-block-end for space after the content on the block axis. Pair with padding-block-start when you need both sides separately.
Change the flow.writing-mode: vertical-rl makes lines run top to bottom.
Block-end moves. It is no longer the physical bottom edge.
Padding stays logical.padding-block-end still means “after” on the block axis.
Why it matters. The same rule stays correct if the page switches writing mode later.
Edge Cases & Pitfalls
If the wrong side gets padding, writing mode or a physical longhand is usually why.
physical
Not always bottom
In horizontal writing it usually matches padding-bottom. In vertical writing it can match left or right. Use physical longhands only for a fixed screen edge.
rtl
RTL does not flip block-end
Direction affects the inline axis. In horizontal-tb, block-end stays bottom whether the text is LTR or RTL.
negative
Negative padding is invalid
Like all padding properties, negative lengths are not allowed. The declaration is ignored.
percent
Percentages use containing-block width
Percentage padding resolves against the containing block’s inline size (usually width), even on the block-end side.
override
Later physical padding can override
A following padding-bottom still wins for that physical side. Keep logical and physical rules from fighting each other.
Compatibility
Browser Support
padding-block-end is a browser CSS property for logical box spacing. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available
padding-block-end
Chrome 69+, Firefox 41+, Safari 12.1+, Edge 79+. Widely available since January 2020. Not in Internet Explorer.
97%Logical padding support
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 ExplorerNot supported
Not supported
padding-block-endWidely supported
Bottom line: Safe for modern sites. For Internet Explorer, fall back to physical padding-bottom. It is not a runtime API.
Remember
Key Takeaways
Role: logical inner spacing on the block-end edge only.
Maps by writing mode: usually bottom in English; can be left/right in vertical text.
Shorthand partner: second value of padding-block; pair with padding-block-start.
Limits: no auto, no negatives; percentages use containing-block width.
One line:padding-block-end sets block-end padding that follows writing mode — use a non-negative length or percentage.
Frequently Asked Questions
It sets inner spacing on the block-end edge. In a horizontal writing mode, that is usually the bottom. The physical side can change with writing-mode.
The default is 0, so there is no block-end padding until you set one.
padding-bottom always means physical bottom. padding-block-end follows writing mode, so in vertical text it may map to left or right instead.
In horizontal writing modes, block-end stays the bottom. RTL affects the inline axis (left/right), not block-end. Block-end changes when writing-mode changes, such as vertical-rl.
Use it when you need inner space only after the content on the block axis and want that side to stay correct if writing mode may change.
It is Baseline and widely available in modern browsers since about January 2020 (Chrome 69+, Firefox 41+, Safari 12.1+). It is a browser CSS property, not a Node.js feature.