38. Indeks elementu HTML

W poprzedniej części kursu CSS dowiedzieliśmy się o pozycjach w jakich może być wyświetlony element HTML. Domyślnie jest on wyświetlony w pozycji statycznej, jednak możemy to zmienić za pomocą właściwości position. Gdy element HTML stanie się elementem wyświetlonym w pozycji relatywnej, absolutnej lub ustalonej to pozycję takiego elementu HTML możemy kontrolować za pomocą właściwości: top, right, bottom, left.

Co się stanie, gdy zmienimy pozycję kilku elementów HTML i będą one znajdowały się jeden na drugim? Który z nich zobaczymy jako pierwszy? Na te pytania odpowie nam ta część kursu CSS. Na początek dodamy kilka przykładowych elementów HTML do części body dokumentu HTML.

<body>

  <div id="rodzic">
    <div id="pierwszy">pierwsze dziecko elementu - #rodzic</div>
    <div id="drugi">drugie dziecko elementu - #rodzic</div>
    <div id="trzeci">trzecie dziecko elementu - #rodzic</div>
  </div>

</body>

Rezultat:

Naszym oczom ukazały się cztery elementy div. Pierwszy z nich jest rodzicem pozostałych trzech elementów div. Za pomocą właściwości left oraz bottom sprawimy, aby elementy te znalazły się jeden na drugim. Z poprzedniej części kursu CSS wiemy, że aby właściwość left oraz bottom oddziaływały na element HTML, to musi być on wyświetlony w pozycji relatywnej (relative), absolutnej (absolute) lub ustalonej (fixed).

Rezultat:

Od tej pory elementy dzieci przesłaniają siebie nawzajem. Domyślnie najbardziej dla nas widocznym elementem HTML będzie ten element dziecko, który został umieszczony jako ostatni w kodzie HTML (w swoim rodzicu).

Domyślną kolejność z jaką widzimy przesłaniające się elementy HTML, wyświetlone w pozycji relatywnej, absolutnej lub ustalonej, możemy kontrolować za pomocą właściwości z-index. Im wyższą ustalimy wartość właściwości z-index dla danego elementu HTML tym bardziej ten element będzie dla nas widoczny, w przypadku gdy inne elementy HTML będą go przesłaniać. Odwrócimy kolejność z jaką widzimy poszczególne elementy dzieci:

Rezultat:

Od tej pory najbardziej widocznym dla nas elementem HTML w naszym przykładzie jest element z właściwością z-index oraz wartością 3, ponieważ pozostałe elementy HTML posiadają niższy indeks, czyli niższą wartość właściwości z-index. Kod HTML ostatniego przykładu znajduje się poniżej:

W naszym przykładzie wszystkie elementy dzieci zostały wyświetlone w pozycji relatywnej, ponieważ została do nich dodana właściwość position wraz z wartością relative. Dowiedzieliśmy się wcześniej, że domyślnie, gdy kilka elementów dzieci znajdzie się jeden na drugim, to najbardziej widocznym dla nas elementem HTML będzie ten, który został umieszczony w kodzie HTML jako ostatni element swojego rodzica, jednak ta zasada obowiązuje tylko w przypadku gdy ostatni element jest wyświetlony w pozycji innej niż domyślna pozycja statyczna. Inaczej mówiąc, elementy wyświetlone w pozycji relatywnej, absolutnej lub ustalonej mają "przewagę" nad elementami wyświetlonymi w domyślnej, statycznej pozycji. Po prostu są one bardziej widoczne niż elementy wyświetlone w pozycji statycznej. Przykład, który znajduje się poniżej, nieco bardziej wyjaśni nam tą zależność.

Kod HTML przykładu znajduje się poniżej:

Teraz zajmiemy się nieco innym układem elementów HTML, a mianowicie przyjrzymy się, które elementy HTML są dla nas bardziej widoczne w relacji przodek oraz potomek. W poprzedniej części kursu CSS dowiedzieliśmy się, że elementy HTML, które są umieszczone jeden w drugim, w kodzie HTML, tworzą coś na wzór stosu, gdy zostaną wyświetlone w oknie przeglądarki internetowej. Domyślnie w takiej sytuacji najbardziej widocznym dla nas elementem HTML danego elementu #rodzic będzie ten element HTML, który jest jego ostatnim potomkiem.

Rezultat:

Nasz dotychczasowy przykład prezentuje elementy div, które tworzą hierarchię typu przodek oraz potomek, czyli kilka elementów HTML, które są umieszczone jeden w drugim. Jedyne co możemy zrobić w takim wypadku, za pomocą właściwości z-index, to sprawić, aby dany element HTML został wyświetlony pod określonymi elementami HTML. Aby tego dokonać musimy spełnić trzy warunki. Do elementu HTML, który ma zmienić swoją kolejność widoczności, należy dodać właściwość z-index wraz z ujemną wartością, np. -1. Musimy określić element HTML, do którego element z właściwością z-index:-1; ma zostać przesunięty. Dodajemy do takiego elementu właściwość z-index, lecz tym razem z dodatnią wartością, np. 1. Oba elementy muszą być wyświetlone w pozycji innej niż statyczna pozycja, np. w pozycji relatywnej, co uzyskamy dzięki właściwości position oraz wartości relative.

Rezultat:

Tak o to ostatni potomek oraz jego cała zawartość została umieszczona pod innymi elementami HTML, lecz nie pod elementem z właściwością z-index:1; Kod HTML ostatniego przykładu został umieszczony poniżej:

W następnej części kursu CSS zapoznamy się ze sposobami tworzenia cieni w tekście oraz w elemencie HTML.

Last updated