Jak korzystać z CSS (i JavaScript?), Aby stworzyć niewyraźne, „matowe” tło?
Próbuję stworzyć oszroniony wygląd w stylu iOS 7 z HTML5, CSS3 i JavaScript, który może działać na przeglądarkach webkit.
Technicznie biorąc pod uwagę następujący kod 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>
Chciałbym zastosować coś takiego-webkit-filter: blur(5px)
do pierwszego 20px poziomo#main-view
.
Jeśli CSS został zmodyfikowany tak, aby był#partial-overlay { width: 20px; height: 100%; ...}
wtedy musiałbym zastosować-webkit-filter: blur(5px)
do pierwszego 20px w pionie.
Oczywistym rozwiązaniem jest użycie javascript do stworzenia klonu#main-view
, ustawoverflow: hidden
a następnie zmień odpowiednio szerokość / wysokość, ale wydaje mi się to trudne do uogólnienia na bardziej złożone strony / struktury CSS.
Czy istnieje lepszy sposób na osiągnięcie tego przy minimalnym uderzeniu wydajności i maksymalnej możliwości generalizacji?
EDYTOWAĆ: Oto przykład tego, co próbuję osiągnąć: