【问题标题】:Re-Creating Aero Glass for Bootstrap为 Bootstrap 重新创建航空玻璃
【发布时间】:2017-09-05 06:05:42
【问题描述】:

所以,这个概念很简单,但是代码很复杂……

这是一个部分示例 - 查看此站点上的导航栏: navbar aero glass example 它只是一个平铺背景的 DIV,不透明度可能为 50%。

现在,要获得完整的航空玻璃效果,我们需要模糊此 DIV / 导航栏后面的任何内容。因此,在此示例中,导航栏需要模糊底层 DIV 背景图像。这让我很困惑。

我能找到的最接近模糊滤镜的是:

图片{

-webkit-filter: blur(5px); /* Safari 6.0 - 9.0 */
filter: blur(5px);

}

但上述内容仅适用于 Firefox 的图像元素,不适用于 IE。

基本上,我需要一种方法来创建 DIV,并模糊该 DIV 元素后面的任何内容,并使其适用于所有浏览器。

提前致谢。

【问题讨论】:

  • 一种“简单的方法”即将到来,也许,caniuse.com/#search=backdrop-filter
  • 但是,IE - 你有两次机会,buckleys 和没有 - IE 已经死了死了
  • 你的第一篇文章很好,第二篇很混乱。
  • IE 是旧的并且没有开发,所以任何新的 CSS(甚至是旧的 CSS)都不会,也永远不会工作 - 话虽如此,IE 可以与 -ms-filter
  • "巴克利和非" = "没有机会。"现在说得通了。

标签: javascript jquery css twitter-bootstrap aero-glass


【解决方案1】:

您可以将页面截屏到画布中。
示例:https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Drawing_DOM_objects_into_a_canvas

然后模糊画布并用 div 对其进行剪辑。 问题是您需要刷新屏幕截图才能获得实时模糊效果的外观(这非常慢并且会滞后大多数访问者)。

这可以帮助你:https://github.com/keithwhor/canvasBlurRect

编辑 https://stackoverflow.com/a/18969917/7090648(已标记)此处的答案可以满足您的需求。

【讨论】:

  • 好吧,假设导航栏在您提供的示例中模糊了背景 - 如果模糊 div 元素后面的图像是响应式图像怎么办?模糊效果仍然有效吗?我问是因为我不明白你的链接。我对“...JavaScript、Canvas API 和 DOM API”不满意。这就是我发帖的原因。感谢您的反馈。
  • 哇,它在示例中有效!好工作!你用什么搜索词来找到这个答案?另外,我投票给你。由于这是我的第一篇文章,它不会显示!该死的人,我不敢相信你找到了答案!我现在是一个快乐的人!
  • @No-U-Turn "js 实时模糊效果" 就这么简单:)
  • 在研究了所有链接之后,这就是我所需要的:jsfiddle.net/kmxD3/1 只有这个示例适用于 Firefox,而不适用于 IE。我明天再研究一下,现在需要睡觉了。谢谢大家!
  • 它也适用于 chrome。从caniuse.com/#feat=css-filters可以看出,过滤器不适用于IE
猜你喜欢
  • 2012-02-03
  • 1970-01-01
  • 1970-01-01
  • 2011-08-03
  • 2022-07-17
  • 1970-01-01
  • 2010-12-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多