gpt4 book ai didi

html - 带有伪元素的 CSS 叠加层

转载 作者:搜寻专家 更新时间:2023-10-31 08:16:13 25 4
gpt4 key购买 nike

如何使用伪元素创建 CSS 叠加层?

.modal {
position:fixed;
top:100px;
margin-left: auto;
margin-right: auto;
left:0;
right:0;
width:500px;
display:none;
border:2px solid #736D61;
background:#fff;
padding:10px;
}
.modal:after {
position:fixed;
top:0px;
left:0px;
width:100%;
height:100%;
background:rgba(0,0,0,0.5);
}

我已经试过了,但没用。

最佳答案

它可能无法正常工作,因为 the pseudo-element isn't generated if the content value is omitted .默认的 content 值为 none,这可能是您看不到伪元素的原因。因此,您需要为 content 属性指定 none 以外的值:

.modal:after {
content: '';
position: fixed;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
}

还值得一提的是,由于伪元素本质上是作为子元素添加的,因此由于建立了堆栈上下文,它将位于 .modal 元素之上。要解决这个问题,您可以将 :before 伪元素添加到 .modal 元素的父元素,如下所示:

.modal {
position: fixed;
top: 100px;
margin-left: auto;
margin-right: auto;
left: 0;
right: 0;
width: 500px;
border: 2px solid #736D61;
background: #fff;
padding: 10px;
}

.modal-overlay:before {
content: '';
position: fixed;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
}
<div class="modal-overlay">
<div class="modal">MODAL</div>
</div>

关于html - 带有伪元素的 CSS 叠加层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34581325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com