The padding-inline-start property sets inner spacing on the inline-start side of an element. In default horizontal left-to-right writing it behaves like padding-left.
Switch writing mode.vertical-rl runs lines top to bottom.
Inline becomes vertical. So start-side padding is no longer a left/right gap.
Logical names stay stable. Physical padding-left would not follow this axis change.
Use with care. Check the mapped side when mixing vertical text and physical padding.
Edge Cases & Pitfalls
Most confusion comes from mixing logical and physical padding.
axis
Direction and writing mode change the side
LTR horizontal maps to left. RTL maps to right. Vertical modes map to top or bottom. Check direction and writing-mode before debugging.
physical
Do not mix casually with padding-left
Setting both can fight when direction flips. Pick logical padding for portable layouts, or physical padding when you truly mean left.
negative
Negative values are invalid
Like other padding properties, values must be 0 or greater. Use margin if you need to pull an element outward.
percent
Percentage uses the parent’s inline size
10% is relative to the containing block’s inline size (width in horizontal writing), not the element’s own height.
ie
Internet Explorer has no support
IE never shipped logical padding. Fall back to padding-left only if you must support that browser.
Compatibility
Browser Support
padding-inline-start is a browser layout property. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available
padding-inline-start
Chrome 69+, Firefox 41+, Safari 12.1+, Edge 79+. Internet Explorer has no support. Older engines used -webkit-padding-start / -moz-padding-start.
97%Modern browsers
Google Chrome69+
Full
Mozilla Firefox41+
Full
Apple Safari12.1+
Full
Microsoft Edge79+
Full
Opera56+
Full
Samsung Internet10+
Full
Internet ExplorerNo support
None
padding-inline-startWidely supported
Bottom line: Safe for modern sites. Fall back to padding-left only if you must support Internet Explorer.
Remember
Key Takeaways
Role: add inner space on the inline-start side, following writing mode and direction.
Maps to: usually padding-left in LTR, padding-right in RTL.
Initial value:0. Not inherited. Values cannot be negative.
Best use: start-side spacing that stays correct in LTR and RTL layouts.
One line:padding-inline-start pads the start of the text flow — left in LTR, right in RTL.
Frequently Asked Questions
It sets inner spacing on the inline-start side of an element. In horizontal left-to-right writing that is usually the left padding.
The initial value is 0. No inline-start padding is added until you set a length or percentage.
padding-left always targets the physical left edge. padding-inline-start follows writing mode and direction, so it stays on the start of the text flow in LTR and RTL.
Yes. In LTR horizontal writing, inline-start is left. In RTL, inline-start becomes right because it follows text direction, not a fixed physical edge.
No. Length and percentage values must be non-negative, the same rule as padding-top and other padding properties.
It is Baseline and widely available: Chrome 69+, Firefox 41+, Safari 12.1+, Edge 79+. Internet Explorer has no support. It is a browser layout property, not a Node.js feature.