如何将 CSS 滤镜应用到背景图像
P粉675258598
2023-08-23 14:06:46
<p>我有一个 JPEG 文件,用作搜索页面的背景图像,并且我使用 CSS 来设置它,因为我在 Backbone.js 上下文中工作:</p>
<pre class="brush:php;toolbar:false;">background-image: url("whatever.jpg");</pre>
<p>我想<em>仅</em>对背景应用 CSS 3 模糊滤镜,但我不确定如何仅设置该元素的样式。如果我尝试:</p>
<pre class="brush:php;toolbar:false;">-webkit-filter: blur(5px);
-moz-filter: blur(5px);
-o-filter: blur(5px);
-ms-filter: blur(5px);
filter: blur(5px);</pre>
<p>就在我的 CSS 中的 <code>background-image</code> 下面,它设置了整个页面的样式,而不仅仅是背景。有没有办法只选择图像并对其应用滤镜?或者,有没有办法关闭页面上所有其他元素的模糊?</p>
笔
消除对额外元素的需求,同时使内容适合文档流,而不是像其他解决方案那样固定/绝对。
使用实现
编辑如果您有兴趣删除边缘的白色边框,请使用
110%
的宽度和高度以及-5的左侧和顶部%代码>。这会稍微放大你的背景 - 但不应该有纯色从边缘渗入。感谢查德·福塞特的建议。
看看这个笔。
您必须使用两个不同的容器,一个用于背景图像,另一个用于您的内容。
在示例中,我创建了两个容器:
.background-image
和.content
。两者都放置为
position:fixed
和left:0;右:0;
。显示它们的差异来自于为元素设置不同的z-index
值。