inset

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

* Some parts of this feature may have varying levels of support.

The inset CSS property is a shorthand that corresponds to the top, right, bottom, and/or left properties. It has the same multi-value syntax of the margin shorthand.

This inset properties, including inset, have no effect on non-positioned elements.

Try it

While part of the CSS logical properties and values module, it does not define logical offsets. It defines physical offsets, regardless of the element's writing mode, directionality, and text orientation.

Constituent properties

This property is a shorthand for the following CSS properties:

Syntax

css
/* <length> values */
inset: 10px; /* value applied to all edges */
inset: 4px 8px; /* top/bottom left/right */
inset: 5px 15px 10px; /* top left/right bottom */
inset: 2.4em 3em 3em 3em; /* top right bottom left */
inset: calc(anchor(50%) + 10px) anchor(self-start) auto auto;
inset: anchor-size(block) calc(anchor(50%) + 10px) auto
  calc(anchor-size(width) / 4);

/* <percentage>s of the width (left/right) or height (top/bottom) of the containing block */
inset: 10% 5% 5% 5%;

/* Keyword value */
inset: auto;

/* Global values */
inset: inherit;
inset: initial;
inset: revert;
inset: revert-layer;
inset: unset;

Values

The inset property takes the same values as the left property.

Formal definition

Initial valueas each of the properties of the shorthand:
Applies topositioned elements
Inheritedno
Percentagesrelative to the containing block's size in the corresponding axis (e.g. width for left or right, height for top or bottom)
Computed valueas each of the properties of the shorthand:
  • top: if specified as a length, the corresponding absolute length; if specified as a percentage, the specified value; otherwise, auto
  • bottom: if specified as a length, the corresponding absolute length; if specified as a percentage, the specified value; otherwise, auto
  • left: if specified as a length, the corresponding absolute length; if specified as a percentage, the specified value; otherwise, auto
  • right: if specified as a length, the corresponding absolute length; if specified as a percentage, the specified value; otherwise, auto
Animation typea length, percentage or calc();

Formal syntax

inset = 
<'top'>{1,4}

<top> =
auto |
<length-percentage> |
<anchor()> |
<anchor-size()>

<length-percentage> =
<length> |
<percentage>

<anchor()> =
anchor( <anchor-name>? &&
<anchor-side> , <length-percentage>? )

<anchor-size()> =
anchor-size( [ <anchor-name> || <anchor-size> ]? , <length-percentage>? )

<anchor-name> =
<dashed-ident>

<anchor-side> =
inside |
outside |
top |
left |
right |
bottom |
start |
end |
self-start |
self-end |
<percentage> |
center

<anchor-size> =
width |
height |
block |
inline |
self-block |
self-inline

Examples

Setting offsets for an element

HTML

html
<div>
  <span class="exampleText">Example text</span>
</div>

CSS

css
div {
  background-color: yellow;
  width: 150px;
  height: 120px;
  position: relative;
}

.exampleText {
  writing-mode: sideways-rl;
  position: absolute;
  inset: 20px 40px 30px 10px;
  background-color: #c8c800;
}

Result

Specifications

Specification
CSS Logical Properties and Values Level 1
# propdef-inset
CSS Positioned Layout Module Level 3
# propdef-inset

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
inset
anchor()
Experimental
anchor-size()
Experimental
auto

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.

See also