Odpowiedzi:
Aby indeks z działał, musisz nadać elementowi a position:absolute
lub position:relative
właściwość. Gdy to zrobisz, Twoje linki będą działały poprawnie, chociaż może być później konieczne poprawienie CSS.
Aby z-index:1000
uzyskać efekt, potrzebny jest niestatyczny schemat pozycjonowania.
Dodaj position:relative;
do reguły, wybierając element, na którym chcesz się znaleźć
Tak, aby z-index działał, musisz nadać elementowi właściwość pozycja: bezwzględna lub pozycja: względna.
Musisz wejść w górę węzłów elementów, aby sprawdzić, czy na poziomie wspólnego rodzica pierwsi potomkowie mają zdefiniowany indeks z.
Wszyscy inni potomkowie nigdy nie mogą znajdować się na pierwszym planie, jeśli u podstawy występuje niższy określony indeks z.
W tym przykładzie fragmentu div1-2-1 ma indeks z równy 1000, ale mimo to znajduje się pod elementem div1-1-1, który ma indeks z równy 3.
Dzieje się tak, ponieważ div1-1 ma indeks z większy niż div1-2.
.div {
}
#div1 {
z-index: 1;
position: absolute;
width: 500px;
height: 300px;
border: 1px solid black;
}
#div1-1 {
z-index: 2;
position: absolute;
left: 230px;
width: 200px;
height: 200px;
top: 31px;
background-color: indianred;
}
#div1-1-1 {
z-index: 3;
position: absolute;
top: 50px;
width: 100px;
height: 100px;
background-color: burlywood;
}
#div1-2 {
z-index: 1;
position: absolute;
width: 200px;
height: 200px;
left: 80px;
top: 5px;
background-color: red;
}
#div1-2-1 {
z-index: 1000;
position: absolute;
left: 70px;
width: 120px;
height: 100px;
top: 10px;
color: red;
background-color: lightyellow;
}
.blink {
animation: blinker 1s linear infinite;
}
@keyframes blinker {
50% {
opacity: 0;
}
}
.rotate {
writing-mode: vertical-rl;
padding-left: 50px;
font-weight: bold;
font-size: 20px;
}
<div class="div" id="div1">div1</br>z-index: 1
<div class="div" id="div1-1">div1-1</br>z-index: 2
<div class="div" id="div1-1-1">div1-1-1</br>z-index: 3</div>
</div>
<div class="div" id="div1-2">div1-2</br>z-index: 1</br><span class='rotate blink'><=</span>
<div class="div" id="div1-2-1"><span class='blink'>z-index: 1000!!</span></br>div1-2-1</br><span class='blink'> because =></br>(same</br> parent)</span></div>
</div>
</div>
Musisz dodać position:relative;
do menu. Indeks Z działa tylko wtedy, gdy masz niestatyczny schemat pozycjonowania.
z-index
właściwość umożliwia przejęcie kontroli z przodu. im większa liczba ustawisz, tym wyższy element otrzymasz.
position
właściwość powinna być, relative
ponieważ pozycja html-element
powinna być położona względem innych kontrolek we wszystkich wymiarach.
element.style {
position:relative;
z-index:1000; //change your number as per elements lies on your page.
}
Zakładam, że robisz wyskakujące okienko z kodem ze szkoły z III wojny światowej, prawda? sprawdź to css. ten .modalny, jest tam już słowo z-index
. po prostu zmień z 1 na 100.
.modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */
padding-top: 100px; /* Location of the box */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}