Διάταξη CSS - Η ιδιότητα z-index


Πίνακας περιεχομένων

    Εμφάνιση πίνακα περιεχομένων


Η ιδιότητα z-index καθορίζει το σειρά στοίβας ενός στοιχείου.


Η ιδιότητα z-index

Όταν τα στοιχεία είναι τοποθετημένα, μπορούν να επικαλύπτουν άλλα στοιχεία.

Η ιδιότητα z-index καθορίζει τη σειρά στοίβας ενός στοιχείου (ποιο στοιχείο πρέπει να τοποθετείται μπροστά ή πίσω από τα άλλα).

Ένα στοιχείο μπορεί να έχει θετική ή αρνητική σειρά στοίβας:

This is a heading

Because the image has a z-index of -1, it will be placed behind the text.

Παράδειγμα

img
{
   
position: absolute;
  left: 0px;
   
top: 0px;
   
z-index: -1;
}

Δοκιμάστε το μόνοι σας →

<!DOCTYPE html>
<html>
<head>
<style>
img {
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: -1;
}
</style>
</head>
<body>

<h1>This is a heading</h1>
<img src="img_tree.png">
<p>Because the image has a z-index of -1, it will be placed behind the text.</p>

</body>
</html>


Σημείωση: z-index λειτουργεί μόνο σε τοποθετημένα στοιχεία (θέση: απόλυτη, θέση: σχετική, θέση: σταθερή ή θέση: κολλώδης) και εύκαμπτα αντικείμενα (στοιχεία που είναι άμεσα παιδιά εμφάνισης: flex στοιχεία).



Ένα άλλο παράδειγμα z-index

Παράδειγμα

Εδώ βλέπουμε ότι ένα στοιχείο με μεγαλύτερη σειρά στοίβας βρίσκεται πάντα πάνω από ένα στοιχείο με χαμηλότερη σειρά στοίβας:

 <html>
<head>
<style>
.container {
  position: relative;
}
  
.black-box {
  position: relative;
  z-index: 1;
  
  border: 2px solid black;
  height: 100px;
  margin: 30px;
}
.gray-box {
  
  position: absolute;
  z-index: 3;
  background: lightgray;
  height: 60px; 
  
  width: 70%;
  left: 50px;
  top: 50px;
}
.green-box {
  position: absolute;
  z-index: 2;
  background: lightgreen;
  
  width: 35%;
  left: 270px;
  top: -15px;
  height: 
  100px;
}
</style>
</head>
<body>
  
<div class="container">
  <div 
  class="black-box">Black box</div>
  <div class="gray-box">Gray 
  box</div>
  <div class="green-box">Green box</div>
</div>
</body>
</html>

Δοκιμάστε το μόνοι σας →

<!DOCTYPE html>
<html>
<head>
<style>
.container {
  position: relative;
}

.black-box {
  position: relative;
  z-index: 1;
  border: 2px solid black;
  height: 100px;
  margin: 30px;
}

.gray-box {
  position: absolute;
  z-index: 3; /* gray box will be above both green and black box */
  background: lightgray;
  height: 60px;  
  width: 70%;
  left: 50px;
  top: 50px;
}

.green-box {
  position: absolute;
  z-index: 2; /* green box will be above black box */
  background: lightgreen;
  width: 35%;
  left: 270px;
  top: -15px;
  height: 100px;
}
</style>
</head>
<body>

<h1>Z-index Example</h1>

<p>An element with greater stack order is always above an element with a lower stack order.</p>

<div class="container">
  <div class="black-box">Black box (z-index: 1)</div>
  <div class="gray-box">Gray box (z-index: 3)</div>
  <div class="green-box">Green box (z-index: 2)</div>
</div>

</body>
</html>



Χωρίς z-index

Εάν δύο τοποθετημένα στοιχεία αλληλοεπικαλύπτονται χωρίς z-index καθορισμένο, το στοιχείο που ορίζεται τελευταίο στον κώδικα HTML θα εμφανίζεται στην κορυφή.

Παράδειγμα

Το ίδιο παράδειγμα με το παραπάνω, αλλά εδώ χωρίς καθορισμένο δείκτη z:

 <html>
<head>
<style>
.container {
  position: relative;
}
  
.black-box {
  position: relative;
  
  border: 2px solid black;
  height: 100px;
  margin: 30px;
}
.gray-box {
  
  position: absolute;
  background: lightgray;
  height: 60px; 
  
  width: 70%;
  left: 50px;
  top: 50px;
}
.green-box {
  position: absolute;
  background: lightgreen;
  
  width: 35%;
  left: 270px;
  top: -15px;
  height: 
  100px;
}
</style>
</head>
<body>
  
<div class="container">
  <div 
  class="black-box">Black box</div>
  <div class="gray-box">Gray 
  box</div>
  <div class="green-box">Green box</div>
</div>
</body>
</html>

Δοκιμάστε το μόνοι σας →

<!DOCTYPE html>
<html>
<head>
<style>
.container {
  position: relative;
}

.black-box {
  position: relative;
  border: 2px solid black;
  height: 100px;
  margin: 30px;
}

.gray-box {
  position: absolute;
  background: lightgray;
  height: 60px;  
  width: 70%;
  left: 50px;
  top: 50px;
}

.green-box {
  position: absolute;
  background: lightgreen;
  width: 35%;
  left: 270px;
  top: -15px;
  height: 100px;
}
</style>
</head>
<body>

<h1>Overlapping elements</h1>

<p>If two positioned elements overlap each other without a z-index specified,
the element defined last in the HTML code will be shown on top:</p>

<div class="container">
  <div class="black-box">Black box</div>
  <div class="gray-box">Gray box</div>
  <div class="green-box">Green box</div>
</div>

</body>
</html>




Ιδιότητα CSS

z-index

Ορίζει τη σειρά στοίβας ενός στοιχείου