- CSS Tutorial
- CSS - Home
- CSS - Introduction
- CSS - Syntax
- CSS - Selectors
- CSS - Inclusion
- CSS - Measurement Units
- CSS - Colors
- CSS - Backgrounds
- CSS - Fonts
- CSS - Text
- CSS - Images
- CSS - Links
- CSS - Tables
- CSS - Borders
- CSS - Border Block
- CSS - Border Inline
- CSS - Margins
- CSS - Lists
- CSS - Padding
- CSS - Cursor
- CSS - Outlines
- CSS - Dimension
- CSS - Scrollbars
- CSS - Inline Block
- CSS - Dropdowns
- CSS - Visibility
- CSS - Overflow
- CSS - Clearfix
- CSS - Float
- CSS - Arrows
- CSS - Resize
- CSS - Quotes
- CSS - Order
- CSS - Position
- CSS - Hyphens
- CSS - Hover
- CSS - Display
- CSS - Focus
- CSS - Zoom
- CSS - Translate
- CSS - Height
- CSS - Hyphenate Character
- CSS - Width
- CSS - Opacity
- CSS - Z-Index
- CSS - Bottom
- CSS - Navbar
- CSS - Overlay
- CSS - Forms
- CSS - Align
- CSS - Icons
- CSS - Image Gallery
- CSS - Comments
- CSS - Loaders
- CSS - Attr Selectors
- CSS - Combinators
- CSS - Root
- CSS - Box Model
- CSS - Counters
- CSS - Clip
- CSS - Writing Mode
- CSS - Unicode-bidi
- CSS - min-content
- CSS - All
- CSS - Inset
- CSS - Isolation
- CSS - Overscroll
- CSS - Justify Items
- CSS - Justify Self
- CSS - Tab Size
- CSS - Pointer Events
- CSS - Place Content
- CSS - Place Items
- CSS - Place Self
- CSS - Max Block Size
- CSS - Min Block Size
- CSS - Mix Blend Mode
- CSS - Max Inline Size
- CSS - Min Inline Size
- CSS - Offset
- CSS - Accent Color
- CSS - User Select
- CSS Advanced
- CSS - Grid
- CSS - Grid Layout
- CSS - Flexbox
- CSS - Visibility
- CSS - Positioning
- CSS - Layers
- CSS - Pseudo Classes
- CSS - Pseudo Elements
- CSS - @ Rules
- CSS - Text Effects
- CSS - Paged Media
- CSS - Printing
- CSS - Layouts
- CSS - Validations
- CSS - Image Sprites
- CSS - Important
- CSS - Data Types
- CSS3 Tutorial
- CSS3 - Tutorial
- CSS - Rounded Corner
- CSS - Border Images
- CSS - Multi Background
- CSS - Color
- CSS - Gradients
- CSS - Box Shadow
- CSS - Box Decoration Break
- CSS - Caret Color
- CSS - Text Shadow
- CSS - Text
- CSS - 2d transform
- CSS - 3d transform
- CSS - Transition
- CSS - Animation
- CSS - Multi columns
- CSS - Box Sizing
- CSS - Tooltips
- CSS - Buttons
- CSS - Pagination
- CSS - Variables
- CSS - Media Queries
- CSS - Functions
- CSS - Math Functions
- CSS - Masking
- CSS - Shapes
- CSS - Style Images
- CSS - Specificity
- CSS - Custom Properties
- CSS Responsive
- CSS RWD - Introduction
- CSS RWD - Viewport
- CSS RWD - Grid View
- CSS RWD - Media Queries
- CSS RWD - Images
- CSS RWD - Videos
- CSS RWD - Frameworks
- CSS References
- CSS - Questions and Answers
- CSS - Quick Guide
- CSS - References
- CSS - Color References
- CSS - Web browser References
- CSS - Web safe fonts
- CSS - Units
- CSS - Animation
- CSS Resources
- CSS - Useful Resources
- CSS - Discussion
CSS - Pseudo-element - ::backdrop
The ::backdrop pseudo-element in CSS is used to create a backdrop that entirely covers the viewport and is displayed or rendered immediately below a <dialog> or an element that enters fullscreen mode or are on the top layer.
The effect of this pseudo-element can be seen in the following scenarios:
All the elements that are placed in fullscreen mode.
All the <dialog> elements that are rendered in the top layer.
All the popover elements that are rendered in the top layer.
Overview
In case of multiple elements placed into the top layer, each element has its own ::backdrop pseudo-element.
The ::backdrop pseudo-element has the ability to conceal, style or make everything completely hidden below the top layer element.
The ::backdrop pseudo-element can not be inherited from or by any other element.
There are no restrictions made on any or all properties that apply on this pseudo-element.
Syntax
selector::backdrop { /* ... */ }
CSS ::backdrop Example
Here is an example showing usage of ::backdrop pseudo-element on a <dialog> element:
<html> <head> <style> dialog::backdrop { background-image: url("images/border.png"); } * { box-sizing: border-box; } body { margin: 0; font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; background-color: #3d3e3e; color: white; } .container { max-width: 100%; margin: 0 auto; padding: 2rem; } button { display: inline-block; border: 1px solid #007bff; padding: 5px; font-size: 1rem; color: black; background-color: #bfc2c5; cursor: pointer; } @supports not selector(::backdrop) { body::before { box-sizing: border-box; content: ''; } } </style> </head> <body> <div class="container"> <p>pseudo-element backdrop used to create a background</p> <button onclick="openDialog()">Click to Open dialog</button> <dialog> <p>See the backdrop</p> <button onclick="closeDialog()">Close</button> </dialog> </div> <script> var dialog = document.querySelector('dialog'); function openDialog() { dialog.showModal(); } function closeDialog() { dialog.close(); } </script> </body> </html>