<header>
  <h2 class="title">element.style.zIndex</h2>
  <p class="description">Визначає порядок накладання елементів уздовж осі z (глибина) на веб-сторінці.</p>
</header>
<main>
  <div class="result">
    <!-- Перемикачі для зміни порядку накладання елементів -->
    <div>
      <input type="radio" id="photo1" name="photo" value="photo1">
      <label for="photo1">Photo 1</label>
      <input type="radio" id="photo2" name="photo" value="photo2">
      <label for="photo2">Photo 2</label>
      <input type="radio" id="photo3" name="photo" value="photo3">
      <label for="photo3">Photo 3</label>
    </div>
    <!-- Елементи для демонстрації -->
    <div id="photo1Element" class="photo-element" style="z-index: 1;">
      <img src="https://via.placeholder.com/150/FF0000" alt="Photo 1">
    </div>
    <div id="photo2Element" class="photo-element" style="z-index: 2;">
      <img src="https://via.placeholder.com/150/00FF00" alt="Photo 2">
    </div>
    <div id="photo3Element" class="photo-element" style="z-index: 3;">
      <img src="https://via.placeholder.com/150/0000FF" alt="Photo 3">
    </div>
  </div>
</main>
body {
  font-size: 16px;
  line-height: 1.5;
  font-family: monospace;
}

header {
  background-color: #f1f1f1;
  margin-bottom: 25px;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

header h2.title {
  padding-bottom: 15px;
  border-bottom: 1px solid #999;
}

header p.description {
  font-style: italic;
  color: #222;
}

.result {
  background-color: #f8f8f8;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  position: relative;
  height: 300px;
}

.photo-element {
  position: absolute;
  width: 150px;
  height: 150px;
  top: 50px;
  left: 50px;
  transition: z-index 0.3s ease;
}

.photo-element img {
  width: 100%;
  height: 100%;
}
document.addEventListener('DOMContentLoaded', function() {
  const photos = document.querySelectorAll('input[name="photo"]');
  const photoElements = {
    photo1: document.getElementById('photo1Element'),
    photo2: document.getElementById('photo2Element'),
    photo3: document.getElementById('photo3Element')
  };

  photos.forEach(function(photo) {
    photo.addEventListener('change', function() {
      const selectedPhoto = this.value;

      Object.keys(photoElements).forEach(function(key) {
        if (key === selectedPhoto) {
          photoElements[key].style.zIndex = '3';
        } else {
          photoElements[key].style.zIndex = '1';
        }
      });
    });
  });
});

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.