使用JavaScript跨浏览器的Webkit Backdrop Filter

Las*_*ári 9 javascript webkit css3

我见过这个新的惊人演示

-webkit-backdrop-filter: blur(Xpx);
Run Code Online (Sandbox Code Playgroud)

我想问一下如何使用JavaScript重现这一点,至少可以在Chrome中使用,但也可能在Firefox中使用?

演示:https: //webkit.org/demos/backdrop-filter/

Bar*_*koś 2

你可以尝试 svg 过滤器:

http://codepen.io/MakiBM/pen/YGEgQK?editors=1000

<svg x="0px" y="0px" width="500px" height="500px" viewbox="0 0 500 500">
  <defs>
    <filter id="blur" x="0%" y="0%" height="100%" width="100%" primitiveUnits="userSpaceOnUse">
      <feGaussianBlur x="50" y="50" width="400" height="400" stdDeviation="10" in="SourceGraphic" result="blurImg"/>
      <feComponentTransfer in="blurImg" result="opaqueBlur">
        <feFuncA type="linear" intercept="1"/>
      </feComponentTransfer>
      <feBlend mode="normal" in="opaqueBlur" in2="SourceGraphic"/>
    </filter>
  </defs>

   <image filter="url(#blur)" x="10" y="10" id="svg-image" width="100%" height="100%" xlink:href="https://www.nycgovparks.org/photo_gallery/full_size/14413.jpg" />

    <rect x="50" y="50" height="400" width="400" fill="rgb(255,255,255)" fill-opacity="0.2" />
</svg>
Run Code Online (Sandbox Code Playgroud)

我还没有进行跨浏览器检查,但支持非常广泛: http: //caniuse.com/svg-filters