Webkit ブラウザーで動作する HTML5、CSS3、および JavaScript を使用して、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 が変更された場合、最初の 20px に垂直#partial-overlay { width: 20px; height: 100%; ...}
に適用する必要があります。-webkit-filter: blur(5px)
明らかな解決策は、javascript を使用して のクローンを作成し、#main-view
必要overflow: hidden
に応じて幅/高さを変更することですが、より複雑なページ/CSS 構造に一般化するのは難しいようです。
最小限のパフォーマンス ヒットと最大の一般化可能性でこれを達成するためのより良い方法はありますか?
編集:これは私が達成しようとしているものの例です: