So wenden Sie einen CSS-Filter auf ein Hintergrundbild an
P粉722409996
2023-08-21 11:18:28
<p>Ich habe eine JPEG-Datei, die ich als Hintergrundbild für meine Suchseite verwende, und ich richte sie mit CSS ein, weil ich in einem Backbone.js-Kontext arbeite: </p>
<pre class="brush:php;toolbar:false;">background-image: url("whatever.jpg");</pre>
<p>Ich möchte einen CSS 3-Unschärfefilter nur auf den Hintergrund anwenden, bin mir aber nicht sicher, wie ich nur dieses Element formatieren soll. Wenn ich es versuche: </p>
<pre class="brush:php;toolbar:false;">-webkit-filter: Blur(5px);
-moz-filter: Unschärfe(5px);
-o-filter: Unschärfe (5px);
-ms-filter: Unschärfe(5px);
Filter: Unschärfe(5px);</pre>
<p>Direkt unter <code>background-image</code> in meinem CSS wird die gesamte Seite formatiert, nicht nur der Hintergrund. Gibt es eine Möglichkeit, nur das Bild auszuwählen und einen Filter darauf anzuwenden? Gibt es alternativ eine Möglichkeit, den Unschärfeeffekt für andere Elemente auf der Seite einfach zu deaktivieren? </p>
pen
消除了额外元素的需要,并使内容适应文档流,而不像其他解决方案那样固定/绝对。
使用以下方式实现:
编辑 如果您希望删除边缘的白色边框,请使用
110%
的宽度和高度以及-5%
的左边和顶部。这将稍微放大您的背景 - 但边缘不应有实心颜色渗入。感谢Chad Fawcett的建议。查看这个pen。
你需要使用两个不同的容器,一个用于背景图片,另一个用于内容。
在示例中,我创建了两个容器,
.background-image
和.content
。它们都使用
position: fixed
和left: 0; right: 0;
进行定位。它们显示的差异来自于为元素设置的不同z-index
值。