Jak działa z-index w CSS?

Co to jest z-index?

W CSS, z-index to właściwość, która określa kolejność nakładania się elementów na osi Z, czyli w trzecim wymiarze. Jest to szczególnie przydatne, gdy mamy do czynienia z elementami, które nakładają się na siebie, i chcemy kontrolować, który z nich będzie widoczny na wierzchu. Wartość z-index może być dodatnia, ujemna lub równa zero.

Jak działa z-index?

Właściwość z-index działa tylko na elementach, które mają ustawioną właściwość position na relative, absolute, fixed lub sticky. Elementy z position: static nie reagują na z-index. Wartości z-index są porównywane w kontekście ich rodziców, co oznacza, że elementy w różnych kontekstach z-index nie wpływają na siebie nawzajem.

Przykład użycia z-index

Rozważmy prosty przykład, w którym mamy trzy elementy nakładające się na siebie:





    
    
    Przykład z-index
    
        .box {
            width: 100px;
            height: 100px;
            position: absolute;
        }
        .box1 {
            background-color: red;
            z-index: 1;
            top: 50px;
            left: 50px;
        }
        .box2 {
            background-color: green;
            z-index: 2;
            top: 70px;
            left: 70px;
        }
        .box3 {
            background-color: blue;
            z-index: 3;
            top: 90px;
            left: 90px;
        }
    


    

W powyższym przykładzie mamy trzy elementy o różnych kolorach i różnych wartościach z-index. Element z najwyższą wartością z-index (niebieski) będzie na wierzchu, a element z najniższą wartością (czerwony) będzie na spodzie.

Konflikty z-index i ich rozwiązywanie

W praktyce mogą wystąpić sytuacje, w których elementy mają takie same wartości z-index. W takich przypadkach przeglądarka decyduje o kolejności na podstawie kolejności w kodzie HTML. Elementy, które pojawiają się później w kodzie, będą na wierzchu.

Przykład konfliktu z-index

Rozważmy sytuację, w której dwa elementy mają tę samą wartość z-index:





    
    
    Konflikt z-index
    
        .box {
            width: 100px;
            height: 100px;
            position: absolute;
        }
        .box1 {
            background-color: red;
            z-index: 1;
            top: 50px;
            left: 50px;
        }
        .box2 {
            background-color: green;
            z-index: 1;
            top: 70px;
            left: 70px;
        }
    


    

W tym przypadku zielony element będzie na wierzchu, ponieważ pojawia się później w kodzie HTML.

Praktyczne zastosowania z-index

Właściwość z-index jest szeroko stosowana w różnych scenariuszach, takich jak:

  • Tworzenie menu rozwijanych
  • Tworzenie modalnych okienek
  • Tworzenie efektów parallax
  • Tworzenie złożonych układów graficznych

Przykład zastosowania w menu rozwijanym

Menu rozwijane często korzystają z z-index, aby zapewnić, że podmenu są wyświetlane na wierzchu innych elementów:





    
    
    Menu rozwijane
    
        .menu {
            position: relative;
        }
        .submenu {
            display: none;
            position: absolute;
            top: 100%;
            left: 0;
            z-index: 10;
        }
        .menu:hover .submenu {
            display: block;
        }
    


    



W tym przykładzie podmenu jest wyświetlane na wierzchu innych elementów dzięki wysokiej wartości z-index.

Podsumowanie

Właściwość z-index w CSS jest potężnym narzędziem do kontrolowania kolejności nakładania się elementów na osi Z. Dzięki niej możemy tworzyć złożone układy graficzne, menu rozwijane, modalne okienka i wiele innych interaktywnych elementów. Kluczowe jest zrozumienie, że z-index działa tylko na elementach z ustawioną właściwością position inną niż static. Warto również pamiętać o potencjalnych konfliktach z-index i sposobach ich rozwiązywania.

Leave a Comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Scroll to Top