Как разместить один объект поверх другого в CSS с использованием z-index

Чтобы разместить объект поверх другого в CSS, можно использовать свойство z-index в сочетании со свойством position. Вот пошаговая инструкция, как это сделать:

➡️ Пример:

  1. HTML структура:
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Объект поверх другого</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="container">
        <div class="background"></div>
        <div class="foreground"></div>
    </div>
</body>
</html>
  1. CSS стиль (styles.css):
/* Стиль для контейнера */
.container {
    position: relative;
    width: 300px;
    height: 300px;
}

/* Фоновый объект */
.background {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: lightblue;
}

/* Передний объект */
.foreground {
    position: absolute;
    width: 100px;
    height: 100px;
    background-color: coral;
    top: 50px;
    left: 50px;
    z-index: 1; /* Устанавливаем z-index для переднего плана */
}

➡️ Объяснение:

  • position: relative: Устанавливаем относительное позиционирование для контейнера, чтобы дочерние элементы могли использовать абсолютное позиционирование относительно контейнера.
  • position: absolute: Устанавливаем абсолютное позиционирование для фона и переднего плана, чтобы они могли располагаться по координатам top, left, right, bottom.
  • z-index: Устанавливаем значение z-index для переднего объекта, чтобы он располагался поверх фонового объекта. Чем выше значение z-index, тем выше объект будет располагаться в стековом контексте.

➡️ Дополнительный пример:

Если нужно, чтобы текст находился поверх изображения:

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Текст поверх изображения</title>
    <style>
        .image-container {
            position: relative;
            width: 400px;
            height: 300px;
        }

        .image {
            width: 100%;
            height: 100%;
        }

        .text-overlay {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            color: white;
            background-color: rgba(0, 0, 0, 0.5);
            padding: 10px;
            z-index: 1;
        }
    </style>
</head>
<body>
    <div class="image-container">
        <img src="path/to/your/image.jpg" alt="Пример изображения" class="image">
        <div class="text-overlay">Текст поверх изображения</div>
    </div>
</body>
</html>

➡️ Объяснение:

  • .text-overlay: Абсолютно позиционированный блок с текстом, центрированный с помощью свойства transform: translate(-50%, -50%);, и полупрозрачным фоном с rgba.

Эти примеры помогут вам разместить один объект поверх другого на веб-странице с использованием CSS.

Закладка Постоянная ссылка.

Обсуждение закрыто.