Quick Guide to Positioning with CSS Inset
Positioning with the CSS inset
property is a straightforward way to specify an element's position relative to its nearest positioned ancestor (not static).
inset
is simply shorthand for top
, left
, right
, and bottom
to position your elements.
I think it'll make most sense when you see an example:
Example
Let's create a simple example of positioning a div element within its parent using inset
.
HTML:
<div class="container"> <div class="box">Centered Box</div> </div>
CSS:
.container { position: relative; /* This makes it the reference for its absolutely positioned children */ width: 100%; height: 300px; background-color: lightgrey; } .box { position: absolute; inset: 50px; /* This applies 50px from all sides: top, right, bottom, and left */ background-color: skyblue; text-align: center; line-height: 200px; /* Center text vertically */ }
The result is a skyblue
box centered inside a lightgrey
container with a 50px gap from all sides of the container. This is a simple way to center elements or create padding effects using CSS positioning and the inset
property.
Here's a little CodePen to experiment with different inset
to see how the position of the .box
changes relative to its parent container:
Not limited to one value
The inset
property can accept one, two, three, or four values:
- One value: Applies the same value to all four sides (top, right, bottom, left).
- Two values: The first value applies to the top and bottom, the second to the left and right.
- Three values: The first value applies to the top, the second to the left and right, and the third to the bottom.
- Four values: Applies to the top, right, bottom, and left, respectively.