我正在尝试使用HTML5,CSS3和JavaScript创建可在Webkit浏览器上使用的iOS 7样式磨砂外观。
从技术上讲,给出以下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>
我想-webkit-filter: blur(5px)对的第一个20px水平应用类似a 的内容#main-view。
如果将CSS修改为,#partial-overlay { width: 20px; height: 100%; ...}则需要将其-webkit-filter: blur(5px)垂直应用于前20px。
显而易见的解决方案是使用javascript来克隆#main-view,设置overflow: hidden,然后适当地更改宽度/高度,但是在我看来,很难将其推广到更复杂的页面/ CSS结构。
有没有更好的方法来实现此目标,而又不会降低性能影响并最大程度地提高了通用性?
慕容3067478