A Utility Class for Covering Elements
Big ol’ same to Michelle Barker here:
Here’s something I find myself needing to do again and again in CSS: completely covering one element with another. It’s the same CSS every time: the first element (the one that needs to be covered) has
position: relative
applied to it. The second hasposition: absolute
and is positioned so that all four sides align to the edges of the first element.
.original-element {
position: relative;
}
.covering-element {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
I have it stuck in my head somehow that it’s “not as reliable” to use bottom
and right
and that it’s safer to set the top
and left
then do width: 100%
and height: 100%
. But I can’t remember why anymore—maybe it was an older browser thing?
But speaking of modernizing things, my favorite bit from Michelle’s article is this:
.overlay {
position: absolute;
inset: 0;
}
The inset
property is a Logical Property and clearly very handy here! Read the article for another trick involving CSS grid.
Direct Link to Article — Permalink
The post A Utility Class for Covering Elements appeared first on CSS-Tricks.
You can support CSS-Tricks by being an MVP Supporter.