CSS 中的 OS X Yosemite 菜单背景模糊

Posted

技术标签:

【中文标题】CSS 中的 OS X Yosemite 菜单背景模糊【英文标题】:OS X Yosemite menu background blur in CSS 【发布时间】:2014-09-25 05:37:49 【问题描述】:

我正在寻找一种方法来获得在 css 中运行的 OS X 10.10 的模糊背景效果。使用filter:blur 或 SVG 高斯滤镜进行模糊也会使边界模糊,因此这不起作用。

下面是效果示例:

【问题讨论】:

【参考方案1】:

您可以使用 Css3 和 JS,如 article 中所述。您可以在下面找到 Css 代码的 sn-p,有关完整的工作示例,请参阅下面的原始帖子和小提琴:

/* TRANSFORMATIONS */
 .glass.down 
 /* Fallback for browsers that don't support 3D Transforms */
 transform: translateY(100%) translateY(-7rem);
 transform: translateY(100%) translateY(-7rem) translateZ(0);


.glass.down::before 
 transform: translateY(-100%) translateY(7rem);
 transform: translateY(-100%) translateY(7rem) translateZ(0);


.glass.up, .glass.up::before 
 transform: translateY(0);
 transform: translateY(0) translateZ(0);

查看此演示: http://jsfiddle.net/cQQ9u/

【讨论】:

【参考方案2】:

这是模仿 OSX Yosemite 的 CSS

样式表

body 
  background-image: url('your image');
  background-size: cover;
  font-size: 14px;


.block 
  color: #000;
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.25);
  background: inherit;
  position: relative;


.block:before 
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: inherit;
    -webkit-filter: blur(10px) saturate(2);


.title 
    font-size: 1.4em;
    font-weight: 300;
    color: #222;
    padding: 8px;
    background: rgba(235,235,235,0.85);
    border-bottom: 1px solid rgba(0,0,0,0.1);
    text-align: center;


.content 
    padding: 8px;
    background: rgba(255,255,255,0.66);

你的 html 如下所示

<div class="block">
  <div class="title">Hello World</div>
  <div class="content">This is your main content!</div>
</div>

示例

【讨论】:

这可能是实现这一目标的最干净的方法。请注意,根据块内的内容,您可能需要将 .block:before z-index 调整为较低的值,因为某些浏览器会将其呈现在内容之上。【参考方案3】:

这些只是解决方法...它仅适用于图像背景,不适用于文本(例如,如果我们要创建模态窗口)...您可以结合 css 和 js 来获得类似的效果,但是现在我们无法使用纯 CSS 获得正确的行为。 这是我的想法,希望一些 CSS 大师可以反驳我,但我认为这是 CSS3 技术的限制......也许将来我们可以做到。

【讨论】:

【参考方案4】:

你可以通过 webkit 的 background-filter css 属性来实现这个效果

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

【讨论】:

以上是关于CSS 中的 OS X Yosemite 菜单背景模糊的主要内容,如果未能解决你的问题,请参考以下文章

为啥 UICollectionViewCell 在 Interface Builder Xcode7.1 OS X Yosemite 中的出口为零?

如何在Mac OS X Yosemite上安装 jdk 1.6 开发环境

sh 翻译:“OS X 10.10 Yosemite本地开发环境,Apache,PHP和MySQL与Homebrew”:3。停止如果已经安装了并且在运行中的Apache

如何实现无需输入密码自动登录OS X Yosemite

sh 在OS X Yosemite上安装OpenCV

sh OS X 10.10 Yosemite升级检查