Css blur 使背景内容不那么明显
Css blur Make background content less visable
我正在尝试使用模糊滤镜创建 CSS 叠加层。
#container {
position: relative;
height: 500px;
width: 500px;
}
#content {
color: #fff;
}
button {
background-color: #fff;
border-radius: 3px;
box-sizing: border-box;
color: #000;
cursor: pointer;
font-size: 14pt;
font-weight: 700;
padding: .75em 3.75em;
}
#content-not-blurred {
color: #fff;
}
#overlay {
top:0;
left:0;
right:0;
bottom:0;
position: absolute;
left: 0;
top: 0;
width: 100%;
z-index: -1;
color: rgba(209, 206, 209, 0.9);
background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), #000, rgba(0, 0, 0, .5));
filter: url('#blur');
filter: blur(5px);
}
<div id="container">
<div id="overlay">
<div id="content">
<p>I'm mr. myseeks</p>
<button>I want feedback</button>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
</div>
</div>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<filter id="blur">
<feGaussianBlur stdDeviation="5" />
</filter>
</defs>
</svg>
<div id="content-not-blurred">
<p>Look at me!</p>
</div>
</div>
我在此代码笔中创建了一个示例:
https://codepen.io/hetzbr/pen/zJLEaz
当我有一个白色按钮作为内容时,它非常突出并且难以阅读覆盖在模糊上的任何内容。
有没有办法让内容的颜色不那么突出?
我知道我可以为内容添加不透明度,使背景内容不那么明显,但我很好奇是否有一种方法可以让文本仍然具有很好的模糊效果,而按钮不会像拇指一样突出。
您只能为按钮添加不透明度。这样容器上的颜色仍然正确,但按钮会不那么突出。
在您的 CodePen 中,我添加了 opacity: .5
做您的 button
,这似乎成功了。
Your example with lower-opacity buttons
除了 blur
之外,您还可以添加 brightness(50%);
滤镜以使模糊元素变暗,从而与白色文本形成更多对比。
#container {
position: relative;
height: 500px;
width: 500px;
}
#content {
color: #fff;
}
button {
background-color: #fff;
border-radius: 3px;
box-sizing: border-box;
color: #000;
cursor: pointer;
font-size: 14pt;
font-weight: 700;
padding: .75em 3.75em;
}
#content-not-blurred {
color: #fff;
}
#overlay {
top:0;
left:0;
right:0;
bottom:0;
position: absolute;
left: 0;
top: 0;
width: 100%;
z-index: -1;
color: rgba(209, 206, 209, 0.9);
background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), #000, rgba(0, 0, 0, .5));
filter: url('#blur') brightness(50%);
filter: blur(5px) brightness(50%);
}
<div id="container">
<div id="overlay">
<div id="content">
<p>I'm mr. myseeks</p>
<button>I want feedback</button>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
</div>
</div>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<filter id="blur">
<feGaussianBlur stdDeviation="5" />
</filter>
</defs>
</svg>
<div id="content-not-blurred">
<p>Look at me!</p>
</div>
</div>
我正在尝试使用模糊滤镜创建 CSS 叠加层。
#container {
position: relative;
height: 500px;
width: 500px;
}
#content {
color: #fff;
}
button {
background-color: #fff;
border-radius: 3px;
box-sizing: border-box;
color: #000;
cursor: pointer;
font-size: 14pt;
font-weight: 700;
padding: .75em 3.75em;
}
#content-not-blurred {
color: #fff;
}
#overlay {
top:0;
left:0;
right:0;
bottom:0;
position: absolute;
left: 0;
top: 0;
width: 100%;
z-index: -1;
color: rgba(209, 206, 209, 0.9);
background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), #000, rgba(0, 0, 0, .5));
filter: url('#blur');
filter: blur(5px);
}
<div id="container">
<div id="overlay">
<div id="content">
<p>I'm mr. myseeks</p>
<button>I want feedback</button>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
</div>
</div>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<filter id="blur">
<feGaussianBlur stdDeviation="5" />
</filter>
</defs>
</svg>
<div id="content-not-blurred">
<p>Look at me!</p>
</div>
</div>
我在此代码笔中创建了一个示例:
https://codepen.io/hetzbr/pen/zJLEaz
当我有一个白色按钮作为内容时,它非常突出并且难以阅读覆盖在模糊上的任何内容。
有没有办法让内容的颜色不那么突出?
我知道我可以为内容添加不透明度,使背景内容不那么明显,但我很好奇是否有一种方法可以让文本仍然具有很好的模糊效果,而按钮不会像拇指一样突出。
您只能为按钮添加不透明度。这样容器上的颜色仍然正确,但按钮会不那么突出。
在您的 CodePen 中,我添加了 opacity: .5
做您的 button
,这似乎成功了。
Your example with lower-opacity buttons
除了 blur
之外,您还可以添加 brightness(50%);
滤镜以使模糊元素变暗,从而与白色文本形成更多对比。
#container {
position: relative;
height: 500px;
width: 500px;
}
#content {
color: #fff;
}
button {
background-color: #fff;
border-radius: 3px;
box-sizing: border-box;
color: #000;
cursor: pointer;
font-size: 14pt;
font-weight: 700;
padding: .75em 3.75em;
}
#content-not-blurred {
color: #fff;
}
#overlay {
top:0;
left:0;
right:0;
bottom:0;
position: absolute;
left: 0;
top: 0;
width: 100%;
z-index: -1;
color: rgba(209, 206, 209, 0.9);
background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), #000, rgba(0, 0, 0, .5));
filter: url('#blur') brightness(50%);
filter: blur(5px) brightness(50%);
}
<div id="container">
<div id="overlay">
<div id="content">
<p>I'm mr. myseeks</p>
<button>I want feedback</button>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
</div>
</div>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<filter id="blur">
<feGaussianBlur stdDeviation="5" />
</filter>
</defs>
</svg>
<div id="content-not-blurred">
<p>Look at me!</p>
</div>
</div>