In default horizontal LTR text it behaves like left. In RTL it usually maps to the right. It has no effect on non-positioned elements. The initial value is auto. Pair it with inset-inline-end, or use the inset-inline shorthand.
Standard-track.
Not deprecated. Widely available since 2021. Anchor positioning values such as anchor() / anchor-size() are newer and have limited support—prefer lengths and percentages for everyday layouts.
Change the writing mode.writing-mode: vertical-rl runs lines vertically.
Keep the logical inset.inset-inline-start still means “start of the inline axis.”
The physical edge moves. The offset is no longer locked to the left of a horizontal box.
One rule, many layouts. You do not rewrite left into top when the writing mode changes.
Edge Cases & Pitfalls
If the offset does nothing, check position first.
static
No effect without positioning
Default position: static ignores inset properties. Use relative, absolute, fixed, or sticky.
left
Not the same as left
left is always the physical left. This property follows writing direction. Mixing both can fight each other—pick one model.
end
Start and end are opposite edges
inset-inline-end is the trailing inline edge. Setting both can stretch or over-constrain the box depending on width.
%
Percentages use the containing block
Percentages resolve against the logical width of the containing block. If that size is indefinite, results can surprise you.
anchor
Anchor values are limited
anchor() and anchor-size() for insets are newer. Prefer lengths and percentages unless you specifically need CSS Anchor Positioning.
Compatibility
Browser Support
inset-inline-start is a browser layout property. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available since 2021
inset-inline-start
Chrome 87+, Firefox 63+, Safari 14.1+, Edge 87+. Internet Explorer has no support.
97%modern browsers
Google Chrome87+
Full support
Mozilla Firefox63+
Full support
Apple Safari14.1+
Full support
Microsoft Edge87+
Full support
Opera73+
Full support
Samsung Internet14.0+
Full support
Internet ExplorerNo support
None
inset-inline-startWidely supported
Bottom line: Safe for modern browsers. For Internet Explorer, fall back to physical left/right when you only need horizontal LTR layouts.
Remember
Key Takeaways
Role: logical offset from the inline-start edge.
Needs position: relative, absolute, fixed, or sticky.
Logical: follows writing direction. Not locked to physical left.
Pair: use with inset-inline-end or the inset-inline shorthand.
One line:inset-inline-start offsets a positioned box from the leading inline edge; writing mode and direction choose which physical side that is.
Frequently Asked Questions
inset-inline-start sets the offset of a positioned element's inline-start edge. Which physical side that is depends on writing-mode, direction, and text-orientation.
The initial value is auto. The browser decides placement from other positioning rules.
left always offsets from the physical left. inset-inline-start follows the logical inline-start edge, so it maps to left in LTR and usually to right in RTL.
No. Like other inset properties, it only affects positioned elements: relative, absolute, fixed, or sticky.
inset-inline sets both inset-inline-start and inset-inline-end in one declaration.
Chrome 87+, Firefox 63+, Safari 14.1+, and Edge 87+. Internet Explorer has no support. It is a browser layout property, not a Node.js feature.