логотип PurpleSchool
логотип PurpleSchool

Псевдоэлемент backdrop в CSS. Полное руководство с примерами

Автор

Дмитрий Нечаев

Псевдоэлемент ::backdrop в CSS позволяет стилизовать подложку под элементами, которые создают модальные (всплывающие) окна, диалоговые окна или полноэкранные режимы. Это важно для создания визуально приятного и понятного интерфейса, так как позволяет затемнить или изменить фон под всплывающим элементом, выделяя его на фоне остального контента. В этой статье мы рассмотрим, как использовать псевдоэлемент ::backdrop, какие свойства он поддерживает, и приведем практические примеры.

Основные понятия

Что такое ::backdrop?

::backdrop — это CSS псевдоэлемент, который применяется к подложке, создаваемой под элементами, находящимися в фокусе, например, под модальными окнами (<dialog>), элементами в полноэкранном режиме или под элементами с атрибутом backdrop.

Применение псевдоэлемента

Для применения стилей к подложке всплывающих элементов необходимо использовать синтаксис ::backdrop в вашем CSS файле.

::backdrop {
    /* стили */
}

Поддерживаемые свойства

Псевдоэлемент ::backdrop поддерживает множество CSS свойств, таких как:

  • background — фон подложки;
  • opacity — прозрачность подложки;
  • filter — применение фильтров, таких как размытие;
  • backdrop-filter — применение эффектов фильтра непосредственно к подложке.

Пример использования

Рассмотрим простой пример, где мы изменим фон подложки и добавим эффект размытия:

::backdrop {
    background: rgba(0, 0, 0, 0.5); /* полупрозрачный черный фон */
    backdrop-filter: blur(5px); /* размытие подложки */
}

Этот код создаст полупрозрачный черный фон с эффектом размытия для подложки под модальными окнами или элементами в полноэкранном режиме.

Поддержка браузеров

Важно учитывать, что поддержка псевдоэлемента ::backdrop может варьироваться в разных браузерах. На момент написания данной статьи псевдоэлемент ::backdrop поддерживается следующими браузерами:

  • Google Chrome
  • Mozilla Firefox
  • Microsoft Edge
  • Safari

Пример совместимости с браузерами

/* Общий стиль */
::backdrop {
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(10px);
}

Стилизация различных элементов

Псевдоэлемент ::backdrop можно применять к различным всплывающим элементам, таким как модальные окна, полноэкранные элементы и элементы диалогов.

Стилизация модальных окон

Пример применения ::backdrop к элементу <dialog>:

dialog::backdrop {
    background: rgba(0, 0, 0, 0.6); /* затемнение подложки */
    backdrop-filter: blur(8px); /* размытие подложки */
}

Стилизация полноэкранных элементов

Пример применения ::backdrop к элементам в полноэкранном режиме:

:fullscreen::backdrop {
    background: rgba(50, 50, 50, 0.8); /* темно-серый фон подложки */
    opacity: 0.8; /* прозрачность подложки */
}

Практические примеры

Пример 1: Модальное окно с затемненной подложкой

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Пример ::backdrop для модального окна</title>
    <style>
        dialog::backdrop {
            background: rgba(0, 0, 0, 0.5); /* полупрозрачный черный фон */
        }

        dialog {
            border: none;
            border-radius: 10px;
            padding: 20px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
        }

        button {
            margin-top: 20px;
        }
    </style>
</head>
<body>
    <button onclick="document.querySelector('dialog').showModal();">Открыть модальное окно</button>
    <dialog>
        <p>Это модальное окно.</p>
        <button onclick="this.parentElement.close();">Закрыть</button>
    </dialog>
</body>
</html>

Пример 2: Полноэкранный режим с размытой подложкой

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Пример ::backdrop для полноэкранного режима</title>
    <style>
        :fullscreen::backdrop {
            background: rgba(0, 0, 0, 0.7); /* затемненная подложка */
            backdrop-filter: blur(10px); /* размытие подложки */
        }

        #content {
            margin: 50px;
            padding: 20px;
            border: 2px solid #000;
            background: #fff;
        }
    </style>
</head>
<body>
    <div id="content">
        <p>Нажмите кнопку ниже, чтобы перейти в полноэкранный режим.</p>
        <button onclick="document.documentElement.requestFullscreen();">Полноэкранный режим</button>
    </div>
</body>
</html>

Заключение

Псевдоэлемент ::backdrop в CSS предоставляет мощный инструмент для стилизации подложек под всплывающими элементами, такими как модальные окна и элементы в полноэкранном режиме. Используйте его, чтобы улучшить визуальную привлекательность и удобство использования вашего сайта. Следуя приведенным выше примерам и рекомендациям, вы сможете эффективно применять ::backdrop в своих проектах.

Стрелочка влевоПсевдоэлемент before в CSS. Полное руководство с примерамиПсевдоэлемент after в CSS. Полное руководство с примерамиСтрелочка вправо

Постройте личный план изучения Css до уровня Middle — бесплатно!

Css — часть карты развития Frontend

  • step100+ шагов развития
  • lessons30 бесплатных лекций
  • lessons300 бонусных рублей на счет

Бесплатные лекции

Все гайды по Css

Полное руководство по использованию свойства will-change в CSSПолное руководство по свойству transform-style в CSSУправление точкой опоры трансформаций в CSS с помощью transform-originИспользование функций CSS-трансформации; Полное руководствоПолное руководство по свойству transform-box в CSSУправление элементами с помощью свойства transform в CSSПолное руководство по свойству perspective-origin в CSSПолное руководство по свойству perspective в CSSПолное руководство по свойству backface-visibility в CSS
Универсальный селектор в CSS. Полное руководство с примерамиСелектор по тегу в CSS. Полное руководство с примерамиПеречисление селекторов в CSS. Полное руководство с примерамиСелектор потомка в CSS. Полное руководство с примерамиСелектор по идентификатору в CSS; Полное руководство с примерамиКомбинированные селекторы в CSS; Полное руководство с примерамиСелектор по классу в CSS; Полное руководство с примерамиСелектор по атрибуту в CSS; Полное руководство с примерами
Псевдокласс selection. Полное руководство с примерамиПсевдоэлементы в CSS. Полное руководство с примерамиПсевдоэлемент placeholder в CSS. Полное руководство с примерамиПсевдоэлемент marker в CSS. Полное руководство с примерамиПсевдоэлемент first-line в CSS. Полное руководство с примерамиПсевдоэлемент first-letter в CSS. Полное руководство с примерамиСвойство content в CSS. Полное руководство с примерамиПсевдоэлемент before в CSS. Полное руководство с примерамиПсевдоэлемент backdrop в CSS. Полное руководство с примерамиПсевдоэлемент after в CSS. Полное руководство с примерами
Псевдокласс where в CSS. Полное руководство с примерамиПсевдокласс visited в CSS. Полное руководство с примерамиПсевдоклассы группы type в CSS. Полное руководство с примерамиПсевдокласс target в CSS. Полное руководство с примерамиПсевдокласс root в CSS. Полное руководство с примерамиПсевдокласс required в CSS. Полное руководство с примерамиПсевдоклассы в CSS. Полное руководство с примерамиПсевдокласс placeholder-shown в CSS. Полное руководство с примерамиПсевдокласс optional в CSS. Полное руководство с примерамиПсевдокласс not в CSS. Полное руководство с примерамиПсевдокласс link в CSS. Полное руководство с примерамиПсевдокласс lang в CSS. Полное руководство с примерамиПсевдокласс is в CSS. Полное руководство с примерамиПсевдоклассы invalid и valid в CSS. Полное руководство с примерамиПсевдокласс indeterminate в CSS. Полное руководство с примерамиПсевдоклассы in-range и out-of-range. Полное руководство с примерамиПсевдокласс hover в CSS. Полное руководство с примерамиПсевдокласс has в CSS. Полное руководство с примерамиПсевдокласс focus-within в CSS. Полное руководство с примерамиПсевдокласс focus-visible в CSS. Полное руководство с примерамиПсевдокласс focus в CSS. Полное руководство с примерамиПсевдокласс empty в CSS. Полное руководство с примерамиПсевдоклассы disabled и enabled в CSS. Полное руководство с примерамиПсевдокласс default в CSS. Полное руководство с примерамиПсевдоклассы группы child в CSS. Полное руководство с примерамиПсевдокласс checked в CSS. Полное руководство с примерамиПсевдокласс active в CSS. Полное руководство с примерами
Функция var в CSS. Полное руководство с примерамиФункция url в CSS. Полное руководство с примерамиФункция repeating-radial-gradient в CSS. Полное руководство с примерамиФункция repeating-linear-gradient в CSS. Полное руководство с примерамиФункция repeating-conic-gradient в CSS. Полное руководство с примерамиФункция radial-gradient в CSS. Полное руководство с примерамиФункция min в CSS. Полное руководство с примерамиФункция max в CSS. Полное руководство с примерамиФункция linear-gradient в CSS. Полное руководство с примерамиФункция image-set в CSS. Полное руководство с примерамиФункции фильтров в CSS. Полное руководство с примерамиФункция conic-gradient в CSS. Полное руководство с примерамиФункция clamp в CSS. Полное руководство с примерамиФункция calc в CSS. Полное руководство с примерамиФункция attr в CSS. Полное руководство с примерами
Вендорные префиксы в CSS. Полное руководство с примерамиКонтекст наложения в CSS. Полное руководство с примерамиСпецифичность в CSS. Полное руководство с примерамиПодход «Pixel Perfect» в верстке сайтов. Полное руководство с примерамиНаследование в CSS. Полное руководство с примерамиCSS-правило. Полное руководство с примерамиКомментарии в CSS. Полное руководство с примерамиПринцип каскада в CSS. Полное руководство с примерамиБлочная модель в CSS. Полное руководство с примерамиСвойство all в CSS. Полное руководство с примерамиПодключение стилей к HTML. Полное руководство с примерами
Полное руководство по свойству will-change в CSSПолное руководство по transition-timing-function в CSSОсновы использования transition-property в CSS; управление плавными переходамиCSS transition-duration; Полное руководство по управлению продолжительностью переходовCSS transition-delay; Полное руководство по управлению задержкой переходовCSS transition; Полное руководство по созданию плавных переходовCSS @keyframes; Полное руководство по созданию анимацийCSS animation-timing-function; Полное руководство по управлению проигрыванием анимацийCSS animation-play-state; Полное руководство по управлению анимациямиCSS animation-name; Полное руководство по заданию имени анимацииCSS animation-iteration-count; Полное руководство по управлению количеством повторений анимацииCSS animation-fill-mode; Полное руководство по управлению состоянием элементов после анимацииCSS animation-duration; Полное руководство по управлению длительностью анимацииCSS animation-direction; Полное руководство по управлению направлением анимацииCSS animation-delay; Полное руководство с примерамиCSS-анимации; Полное руководство с примерами
Открыть базу знаний

Лучшие курсы по теме

изображение курса

HTML и CSS

Антон Ларичев
иконка часов6 бесплатных уроков
иконка звёздочки рейтинга4.8
Frontend
Mobile
изображение курса

TypeScript с нуля

Антон Ларичев
иконка часов6 бесплатных уроков
иконка звёздочки рейтинга4.8
Backend
Frontend
Mobile
изображение курса

Next.js - с нуля

Антон Ларичев
иконка часов8 бесплатных уроков
иконка звёздочки рейтинга4.7
Frontend