Pratham Profile picture
I work to place you in the top 1% of web developers โ€ข Building https://t.co/TzoPPvXkeN & https://t.co/vTZdsutbrT โ€ข DevRel โ€ข Prev @Rapid_API @HyperspaceAI

May 1, 2021, 8 tweets

z-index is a powerful yet confusing concept of CSS. But this short thread will solve all your doubts related to it.

Thread๐Ÿงต ๐Ÿ‘‡๐Ÿป

z-index is a CSS property that controls stacking order of elements along z axis.

Image a hypothetical line starting from your eye to screen, that is z-axis

Note that z-index only works on positioned elements.

You need to specify the position (relative, absolute, sticky, fixed) if you want to arrange an element using z-index

๐Ÿ”น z-index of nested elements

Let's say two elements A and B are siblings with element B written after element A in DOM, then the children of element A cannot be higher than element B no matter what z-index is being applied on children

See this in action ๐Ÿ‘‡๐Ÿป

๐Ÿ”น z-index of pseudo-elements

By default pseudo-elements(::before and ::after) display on the top of the parent.

You can set the stacking order of ::before and ::after as usual but you can't display pseudo-elements below the parent...

๐Ÿ‘‡๐Ÿป

For example, this won't work ๐Ÿ‘‡๐Ÿป

In order to display the pseudo-elements below parent element, you just need to remove the z-index from parent itself. For example ๐Ÿ‘‡๐Ÿป

This is pretty much it. As simple as that ๐Ÿ˜„โค๏ธ

I hope you like it. Peace out ๐Ÿ˜‰

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling