作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 JPEG 文件用作搜索页面的背景图像,我正在使用 CSS 设置它,因为我在 Backbone.js 中工作。上下文:
background-image: url("whatever.jpg");
我想将 CSS 3 模糊滤镜仅应用于背景,但我不确定如何只为那个元素设置样式。如果我尝试:
-webkit-filter: blur(5px);
-moz-filter: blur(5px);
-o-filter: blur(5px);
-ms-filter: blur(5px);
filter: blur(5px);
在我的 CSS 中 background-image
的下方,它为整个页面设置样式,而不仅仅是背景。有没有办法只选择图像并将过滤器应用于该图像?或者,有没有一种方法可以关闭页面上所有其他元素的模糊效果?
最佳答案
看看这个 pen .
您将不得不使用两个不同的容器,一个用于背景图像,另一个用于您的内容。
在示例中,我创建了两个容器,.background-image
和 .content
。
两者都放置在position: fixed
和left: 0;右:0;
。显示它们的不同之处在于为元素设置了不同的 z-index
值。
.background-image {
position: fixed;
left: 0;
right: 0;
z-index: 1;
display: block;
background-image: url('https://i.imgur.com/lL6tQfy.png');
width: 1200px;
height: 800px;
-webkit-filter: blur(5px);
-moz-filter: blur(5px);
-o-filter: blur(5px);
-ms-filter: blur(5px);
filter: blur(5px);
}
.content {
position: fixed;
left: 0;
right: 0;
z-index: 9999;
margin-left: 20px;
margin-right: 20px;
}
<div class="background-image"></div>
<div class="content">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis aliquam erat in ante malesuada, facilisis semper nulla semper. Phasellus sapien neque, faucibus in malesuada quis, lacinia et libero. Sed sed turpis tellus. Etiam ac aliquam tortor, eleifend
rhoncus metus. Ut turpis massa, sollicitudin sit amet molestie a, posuere sit amet nisl. Mauris tincidunt cursus posuere. Nam commodo libero quis lacus sodales, nec feugiat ante posuere. Donec pulvinar auctor commodo. Donec egestas diam ut mi adipiscing,
quis lacinia mauris condimentum. Quisque quis odio venenatis, venenatis nisi a, vehicula ipsum. Etiam at nisl eu felis vulputate porta.</p>
<p>Fusce ut placerat eros. Aliquam consequat in augue sed convallis. Donec orci urna, tincidunt vel dui at, elementum semper dolor. Donec tincidunt risus sed magna dictum, quis luctus metus volutpat. Donec accumsan et nunc vulputate accumsan. Vestibulum
tempor, erat in mattis fringilla, elit urna ornare nunc, vel pretium elit sem quis orci. Vivamus condimentum dictum tempor. Nam at est ante. Sed lobortis et lorem in sagittis. In suscipit in est et vehicula.</p>
</div>
为 Lorem Ipsum 文本道歉。
感谢Matthew Wilcoxson使用 .content::before
更好地实现 https://codepen.io/akademy/pen/FlkzB
关于css - 如何将 CSS 滤镜应用于背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56098205/
我是一名优秀的程序员,十分优秀!