CSS padding-inline-start Property

Beginner
5 min read
Updated: Oct 2026
3 examples
Live preview

Definition and Usage

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.

The physical side depends on writing-mode, direction, and text orientation. Pair it with padding-inline-end, or use the padding-inline shorthand for both sides.

Standard-track.

Not deprecated and not experimental. Part of CSS Logical Properties. Widely available in modern browsers since 2020.

Legacy aliases Prefixed names

Older engines used -webkit-padding-start / -moz-padding-start. Prefer the standard padding-inline-start name.

CSS Syntax

syntax.css
padding-inline-start: <length> | <percentage> | initial | inherit;

Values match physical padding. Lengths and percentages must be non-negative. The initial value is 0.

Property Values

ValueDescriptionTry it
<length>Fixed padding such as 20px, 1rem, or 2emTry it
<percentage>Percent of the containing block’s inline sizeTry it
initialResets to 0Try it
inheritTakes the parent’s padding-inline-startTry it

How to Use padding-inline-start

Add space before the content along the inline axis, then let writing mode and direction pick the physical side.

  1. Choose a non-negative length or percentage.
  2. Set it on the element that needs start-side inner space.
  3. In LTR horizontal text it pads the left; in RTL it pads the right.
  4. Prefer this over padding-left when the layout must work in both directions.
PieceRequired?Role
Element that accepts paddingYesNot all table display types take padding
Length or percentageYesMust be 0 or greater
direction / writing-modeContextChooses which physical side receives the padding
Containing block sizeFor %Percentage resolves against the parent’s inline size

Live Preview

Change padding-inline-start on a bordered box. In LTR, the gap appears on the left of the text.

Default writing is horizontal LTR, so this padding maps to the left edge.

Box
Start padding here

padding-inline-start: 2rem

CSS Examples

Each snippet focuses on padding-inline-start. Use Try It Yourself for a live editor.

Example 1 — Length Padding

Add 2rem of space on the inline-start side of a bordered box.

CSS
<style>
  div {
    padding-inline-start: 2rem;
    border: 1px solid black;
  }
</style>

<div>Start padding here</div>
Try It Yourself

How It Works

  1. Pick a length. 2rem is the inner gap on the start side.
  2. Default writing is LTR. So the gap appears on the left, like padding-left.
  3. Content shifts inward. Text starts after that 2rem space.
  4. Border stays outside. Padding sits between content and the border edge.

Example 2 — RTL Direction

In right-to-left text, the same property pads the right side.

CSS
<style>
  div {
    direction: rtl;
    padding-inline-start: 2rem;
    border: 1px solid black;
  }
</style>

<div>Start is on the right</div>
Try It Yourself

How It Works

  1. Flip direction. direction: rtl makes text flow right to left.
  2. Inline-start moves. Start is now the right edge.
  3. Same property name. You did not switch to padding-right; the logical name followed direction.
  4. Why it matters. One rule works for LTR and RTL without rewriting physical sides.

Example 3 — Vertical Writing Mode

In vertical text, inline-start can map to the top or bottom edge.

CSS
<style>
  div {
    writing-mode: vertical-rl;
    padding-inline-start: 2rem;
    border: 1px solid black;
  }
</style>

<div>Inline axis is vertical</div>
Try It Yourself

How It Works

  1. Switch writing mode. vertical-rl runs lines top to bottom.
  2. Inline becomes vertical. So start-side padding is no longer a left/right gap.
  3. Logical names stay stable. Physical padding-left would not follow this axis change.
  4. 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.

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 Chrome 69+
Full
Mozilla Firefox 41+
Full
Apple Safari 12.1+
Full
Microsoft Edge 79+
Full
Opera 56+
Full
Samsung Internet 10+
Full
Internet Explorer No support
None
padding-inline-start Widely supported

Bottom line: Safe for modern sites. Fall back to padding-left only if you must support Internet Explorer.

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.

Next: padding-left

Learn the physical left padding property.

padding-left tutorial →

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.

8 people found this page helpful