我只是想出了如何做到这一点!背景和内容 div 都需要具有相同的背景和相同的定位/大小。并background-attachment: fixed
在他们两个上使用。您可以使用 来模糊 div -webkit-filter: blur(5px);
。根据页面上其他事物的位置,您可能需要使用 z-index。此外,如果您想要模糊 div 内的内容,则它必须位于位于其顶部的完全独立的 div 中,否则内部的所有内容也会变得模糊。这是代码:
<body style="margin: 0px;">
<div id="bg" style="background: url('images/1.png') no-repeat; background-attachment: fixed; min-width: 100%; min-height: 100%;">
<div id="blur-cutoff" style="width: 280px; height: 280px; position: absolute; left: 50%; margin-left: -140px; margin-top: 10px; overflow: hidden;">
<div id="blur" style="width: 300px; height: 300px; background: url('images/1.png') no-repeat; background-attachment: fixed; margin-left: -150px; left: 50%; -webkit-filter: blur(5px); position: absolute;">
</div>
</div>
<div id="unblur" style="width: 300px; height: 300px; position: absolute; left: 50%; margin-left: -150px; z-index: 2;">
<p class="blurtext" style="font-family: tahoma; color: #FFFFFF; text-align: center; line-height: 300px;">This is the blurred div</p>
</div>
</div>
</body>
我无法让 jsfiddle 为此工作,所以如果有人能做到这一点,那就太棒了。这里的整个想法是两个 div 在同一个地方有完全相同的内容。这样,无论模糊的 div 移动到哪里,它看起来都会像模糊背景一样。