Как поместить картинку под другой текст: полное руководство по CSS

    При вёрстке веб-страниц часто возникает задача расположить фоновое изображение или декоративную картинку позади текстового контента. В этой статье мы разберём несколько надёжных способов, как поместить картинку под текст с помощью CSS, включая использование position, z-index и правильного порядка элементов в HTML.

    Почему изображение может перекрывать текст?

    Основная причина - неправильное позиционирование элементов. По умолчанию все блочные и строчные элементы располагаются в порядке их следования в HTML-разметке. Если картинка идёт после текста, она будет отображаться поверх него. Чтобы это исправить, нужно изменить порядок наложения с помощью CSS-свойства z-index или перестроить структуру документа.

    Способ 1: Использование position и z-index

    Самый популярный метод - задать относительное позиционирование контейнеру и абсолютное - картинке, а затем управлять слоями через z-index. Текст при этом должен иметь больший z-index, чем изображение.

    Пример CSS-кода:

    .wrapper { position: relative; }
    .background__image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; }
    .content { position: relative; z-index: 1; }

    В этом случае картинка станет фоном, а текст будет отображаться поверх неё.

    Способ 2: Использование CSS-свойства background-image

    Если изображение должно быть строго фоновым, лучше использовать background-image для родительского блока. Такой подход не требует манипуляций с z-index и обеспечивает корректное отображение на всех устройствах.

    .wrapper { background-image: url('assets/background.png'); background-size: cover; background-position: center; }

    Текст внутри .wrapper будет автоматически располагаться поверх фона.

    Способ 3: Изменение порядка элементов в HTML

    Иногда достаточно просто переместить блок с изображением перед блоком с текстом в HTML-разметке. Например, сначала идёт <div class="background">, а затем <div class="content">. При этом текст будет выше по слоям, так как он объявлен позже.

    Однако этот метод менее гибкий, так как нарушает семантическую структуру страницы.

    Частые ошибки при размещении картинки под текстом

    • Забыли указать position: relative для родительского контейнера - абсолютное позиционирование будет считаться относительно окна браузера.
    • Неправильные значения z-index - текст должен иметь z-index больше, чем у изображения.
    • Изображение не имеет ширины и высоты - при абсолютном позиционировании задавайте размеры явно.

    Как проверить, что картинка действительно под текстом?

    Используйте инструменты разработчика в браузере (F12). Во вкладке Elements вы увидите порядок слоёв, а в Computed - значения z-index и position. Также можно временно добавить opacity: 0.5 к тексту, чтобы убедиться, что фон виден сквозь него.

    Заключение

    Поместить картинку под текст можно тремя основными способами: через position: absolute + z-index, через background-image или изменив порядок элементов. Рекомендуем использовать второй метод для фоновых изображений - он проще и надёжнее. Если же картинка должна быть интерактивной или анимированной, выбирайте первый вариант с правильным позиционированием.

    Часто задаваемые вопросы