首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用CSS (和JavaScript?)来创造一个模糊的,“磨砂的”背景?

如何使用CSS (和JavaScript?)来创造一个模糊的,“磨砂的”背景?
EN

Stack Overflow用户
提问于 2013-06-14 00:27:53
回答 10查看 34.1K关注 0票数 52

我正在尝试用HTML5,CSS3和JavaScript创建一个iOS 7风格的磨砂外观,可以在webkit浏览器上运行。

从技术上讲,给定以下HTML:

<style>
  #partial-overlay {
    width: 100%;
    height: 20px;
    background: rgba(255, 255, 255, .2); /* TODO frost */
    position: fixed;
    top: 0;
    left: 0;
  }
</style>
<div id="main-view">
  <div style="width: 50px; height: 50px; background: #f00"></div>
  To my left is a red box<br>
  Now there is just text<br>
  Text that goes on for a few pixels <br>
  or even more
</div>
<div id="partial-overlay">
  Here is some content
</div>

我想在#main-view的第一个20px水平方向上应用类似于-webkit-filter: blur(5px)的东西。

如果CSS被修改为#partial-overlay { width: 20px; height: 100%; ...},那么我需要将-webkit-filter: blur(5px)垂直应用于前20px。

显而易见的解决方案是使用javascript克隆#main-view,设置overflow: hidden,然后适当地更改宽度/高度,但在我看来,这似乎很难推广到更复杂的页面/CSS结构。

有没有更好的方法来实现这一点,同时将性能影响降到最低,并最大限度地提高泛化能力?

编辑:下面是我尝试实现的一个示例:

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17092299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档