CSS - 偽元素 - ::backdrop
CSS 中的 ::backdrop 偽元素用於建立背景,該背景完全覆蓋視口,並直接顯示或呈現在 <dialog> 或進入全屏模式或位於最頂層的元素下方。
此偽元素的效果可以在以下場景中看到
所有置於全屏模式的元素。
所有呈現在頂層的 <dialog> 元素。
所有呈現在頂層的彈出元素。
概述
對於置入頂層的多個元素,每個元素都有自己的 ::backdrop 偽元素。
::backdrop 偽元素能夠遮蓋、設定樣式或讓位於頂層元素下方的所有元素完全隱藏。
::backdrop 偽元素不能從任何其他元素繼承或被繼承。
對於應用於此偽元素的任何或所有屬性沒有任何限制。
語法
selector::backdrop {
/* ... */
}
CSS ::backdrop 示例
下面是一個顯示在 <dialog> 元素中使用 ::backdrop 偽元素的示例
<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>
廣告