The inset-inline property is a logical shorthand for inset-inline-start and inset-inline-end. It offsets a positioned element along the inline axis.
In horizontal left-to-right text it usually matches left and right. With direction: rtl or writing-mode: vertical-rl, the same values map to different physical edges. It has no effect on static elements.
Baseline · Widely available.
Not deprecated and not experimental. Logical inset properties have been widely available across browsers since April 2021. Internet Explorer does not support them.
Syntax
CSS Syntax
syntax.css
inset-inline:<length> | <percentage> | auto | initial | inherit;
One value sets start and end the same. Two values set start first and end second. Each longhand starts as auto. The property is not inherited.
Switch writing mode.vertical-rl turns the inline axis sideways.
Keep the same logical rule.inset-inline still means start and end on the inline axis.
Physical edges change. Those offsets now land on top and bottom.
Why logical helps. One rule works in horizontal and vertical layouts.
Edge Cases & Pitfalls
If the offsets look wrong, check these first.
position
Static elements ignore inset-inline
Set position to relative, absolute, fixed, or sticky first.
axis
Only the inline axis
This property never sets top/bottom in horizontal text. Use inset-block for the block axis, or inset for all four physical sides.
order
Two values are start then end
inset-inline: 8px 32px means 8px on inline-start and 32px on inline-end. In RTL, start is the right edge.
mode
Direction and writing mode change the edges
Do not assume “always left and right.” Check direction and writing-mode.
physical
inset is physical; this is logical
inset always maps to top/right/bottom/left. Prefer inset-inline when the inline axis should follow writing mode and direction.
Compatibility
Browser Support
inset-inline is a browser CSS property for logical positioned offsets. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available
inset-inline
Chrome 87+, Edge 87+, Firefox 63+, Safari 14.1+. Internet Explorer has no support — fall back to left/right (or top/bottom in vertical modes).
96%Modern browser support
Google Chrome87+
Full support
Mozilla Firefox63+
Full support
Apple Safari14.1+
Full support
Microsoft Edge87+
Full support
Opera73+
Full support
Samsung Internet14+
Full support
Internet ExplorerNo support
Not supported
inset-inlineWidely supported
Bottom line: Safe for modern sites. For Internet Explorer, use left and right (or the matching physical pair). It is not a runtime API.
Remember
Key Takeaways
Role: set logical inline-start and inline-end offsets together.
Needs position: relative, absolute, fixed, or sticky.
One or two values: one for both sides; two for start then end.
Follows writing mode: not always left/right physically.
One line: positioned box + inset-inline: 8px 32px; = logical inline offsets that adapt with writing mode and direction.
Frequently Asked Questions
It is a shorthand for inset-inline-start and inset-inline-end. It sets logical offsets along the inline axis of a positioned element.
Each side defaults to auto, the same as the longhands. Placement then follows other positioning rules.
In horizontal LTR writing mode it usually matches left and right. When direction is rtl or writing-mode is vertical, the same rule maps to different physical edges.
No. It only affects elements with position set to relative, absolute, fixed, or sticky.
inset always sets physical top, right, bottom, and left. inset-inline only sets the logical inline axis and follows writing-mode and direction.
It is Baseline Widely available. Chrome 87+, Edge 87+, Firefox 63+, and Safari 14.1+ support it. Internet Explorer does not. It is a browser CSS property, not a Node.js feature.