我正在 React 网站上工作,尝试向具有一段文本的容器添加模糊效果。无论出于何种原因,模糊都不会显示。我不明白为什么。
任何帮助都会很棒!
HTML:
<div className={styles.CardContentContainer}>
<div className={styles.ProjectTitle1}>
<span>Real Estate</span>
</div>
...
CSS:
.ProjectTitle1 {
padding-right: 9px;
padding-left: 9px;
padding-bottom: 4px;
padding-top: 4px;
color: white;
font-weight: 700;
z-index: 1;
position: absolute;
top: -84px;
right: 0px;
background-color: #aa1a18;
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
box-shadow: var(--main-top-shadow);
box-shadow: var(--main-shadow);
}
实际上这不是React问题,请注意,background-filter属性充当背景,所以如果你为元素添加背景颜色,看到的将是颜色,你不会注意到模糊效果。但如果你想使用背景颜色,你应该做的是使用较低的不透明度百分比。
您可以将以下示例视为我要解释的内容的参考。
<!DOCTYPE html>
<html lang="en">
<style>
.ProjectTitle1 {
padding-right: 9px;
padding-left: 9px;
padding-bottom: 4px;
padding-top: 4px;
color: white;
font-weight: 700;
z-index: 1;
position: absolute;
top: 10px;
left: 30px;
background-color: #aa1a18;
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
box-shadow: var(--main-top-shadow);
box-shadow: var(--main-shadow);
}
/* without the background color */
.ProjectTitle1-noBGColor {
padding-right: 9px;
padding-left: 9px;
padding-bottom: 4px;
padding-top: 4px;
color: white;
font-weight: 700;
z-index: 1;
position: absolute;
top:40px;
left: 30px;
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
box-shadow: var(--main-top-shadow);
box-shadow: var(--main-shadow);
}
/* background color with low opacity */
.ProjectTitle1-BGColorOpacity {
padding-right: 9px;
padding-left: 9px;
padding-bottom: 4px;
padding-top: 4px;
color: white;
font-weight: 700;
z-index: 1;
position: absolute;
top: 70px;
left: 30px;
backdrop-filter: blur(20px);
background-color: rgba(255,255,255,0.1);
-webkit-backdrop-filter: blur(20px);
box-shadow: var(--main-top-shadow);
box-shadow: var(--main-shadow);
}
</style>
<body>
<div class="container">
<img src="https://picsum.photos/200/300" width="230px" height="250px">
<div class="ProjectTitle1">
<span>Real Estate</span>
</div>
<div class="ProjectTitle1-noBGColor">
<span>Real Estate</span>
</div>
<div class="ProjectTitle1-BGColorOpacity">
<span>Real Estate</span>
</div>
</div>
</body>
</html>