This content originally appeared on Stefan Judis Web Development and was authored by Stefan Judis
I came across the article How to Stack Elements in CSS written by Sarah Dresner and learned that one could use display: grid;
to stack element without setting any absolute positioning! ?
The trick is that you can define overlapping grid-area
declarations.
Let's say we have the following HTML:
<div class="photoCard">
<img src="https://.../cutedog.jpg" alt="A cute dog">
<div class="red">red</div>
<div class="blue">blue</div>
</div>
Then you place the elements using CSS Grid as follows:
.photoCard {
display: grid;
}
img { grid-area: 1 / 1 / 4 / 2; }
.red { grid-area: 1 / 1 / 2 / 2; }
.blue { grid-area: 3 / 1 / 4 / 2; }
The CSS above makes the img
element span over three rows. Contrary, the .blue
and .red
element are placed on the first and third row leading them to be stacked on top of the image.
To visualize it, I made a quick #devsheet about it. ?
Reply to Stefan
This content originally appeared on Stefan Judis Web Development and was authored by Stefan Judis
Stefan Judis | Sciencx (2020-01-26T23:00:00+00:00) CSS Grid can be used to stack elements (#tilPost). Retrieved from https://www.scien.cx/2020/01/26/css-grid-can-be-used-to-stack-elements-tilpost/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.