O z-index em CSS é uma propriedade usada para controlar a sobreposição de elementos em uma página web. Ele determina a posição de um elemento ao longo do eixo z, que é perpendicular à tela. Elementos com um z-index maior são sobrepostos aos elementos com um z-index menor.

Aqui estão alguns exemplos para ilustrar como usar o z-index:

Exemplo Básico:

html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .box1 { width: 100px; height: 100px; background-color: red; position: absolute; left: 50px; top: 50px; z-index: 2; } .box2 { width: 100px; height: 100px; background-color: blue; position: absolute; left: 70px; top: 70px; z-index: 1; } </style> </head> <body> <div class="box1"></div> <div class="box2"></div> </body> </html>

Neste exemplo, a box1 tem um z-index maior do que a box2, então a box1 será exibida sobre a box2.

Exemplo com Sobreposição de Elementos:

html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .parent { position: relative; } .box1 { width: 100px; height: 100px; background-color: red; position: absolute; left: 50px; top: 50px; z-index: 2; } .box2 { width: 100px; height: 100px; background-color: blue; position: absolute; left: 70px; top: 70px; z-index: 1; } </style> </head> <body> <div class="parent"> <div class="box1"></div> <div class="box2"></div> </div> </body> </html>

Neste exemplo, a div.parent age como um contêiner e os elementos internos (box1 e box2) são posicionados em relação a ele. O z-index continua a funcionar da mesma forma, mas agora os elementos são filhos de um contêiner.

Lembre-se de que o z-index só tem efeito em elementos que tenham uma posição definida (relative, absolute ou fixed). Se um elemento não tiver uma posição definida, o z-index não terá efeito sobre ele.