Bir arama sayfası için arka plan resmi olarak kullandığım bir JPEG dosyam var ve Backbone.js bağlamlarında çalıştığım için bunu ayarlamak için CSS kullanıyorum:
background-image: url("whatever.jpg");
CSS 3 bulanıklaştırma filtresini sadece arka plana uygulamak istiyorum, ancak sadece tek bir öğeyi nasıl şekillendireceğimden emin değilim. Eğer denersem:
-webkit-filter: blur(5px);
-moz-filter: blur(5px);
-o-filter: blur(5px);
-ms-filter: blur(5px);
filter: blur(5px);
CSS'imde background-image
ın hemen altında, sadece arka plan yerine tüm sayfayı stilize ediyor. Sadece resmi seçmenin ve filtreyi buna uygulamanın bir yolu var mı? Alternatif olarak, sayfadaki diğer tüm öğeler için bulanıklaştırmayı kapatmanın bir yolu var mı?
Şu kaleme göz atın.
Biri arka plan görüntüsü, diğeri içeriğiniz için olmak üzere iki farklı kap kullanmanız gerekecektir.
Örnekte, .background-image
ve .content
olmak üzere iki kapsayıcı oluşturdum.
Her ikisi de position: fixed
ve left: 0; right: 0;
ile yerleştirilir. Bunların görüntülenmesindeki fark, elemanlar için farklı ayarlanmış olan z-index
değerlerinden kaynaklanmaktadır.
.background-image {
position: fixed;
left: 0;
right: 0;
z-index: 1;
display: block;
background-image: url('http://666a658c624a3c03a6b2-25cda059d975d2f318c03e90bcf17c40.r92.cf1.rackcdn.com/unsplash_527bf56961712_1.JPG');
width: 1200px;
height: 800px;
-webkit-filter: blur(5px);
-moz-filter: blur(5px);
-o-filter: blur(5px);
-ms-filter: blur(5px);
filter: blur(5px);
}
.content {
position: fixed;
left: 0;
right: 0;
z-index: 9999;
margin-left: 20px;
margin-right: 20px;
}
<div class="background-image"></div>
<div class="content">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis aliquam erat in ante malesuada, facilisis semper nulla semper. Phasellus sapien neque, faucibus in malesuada quis, lacinia et libero. Sed sed turpis tellus. Etiam ac aliquam tortor, eleifend
rhoncus metus. Ut turpis massa, sollicitudin sit amet molestie a, posuere sit amet nisl. Mauris tincidunt cursus posuere. Nam commodo libero quis lacus sodales, nec feugiat ante posuere. Donec pulvinar auctor commodo. Donec egestas diam ut mi adipiscing,
quis lacinia mauris condimentum. Quisque quis odio venenatis, venenatis nisi a, vehicula ipsum. Etiam at nisl eu felis vulputate porta.</p>
<p>Fusce ut placerat eros. Aliquam consequat in augue sed convallis. Donec orci urna, tincidunt vel dui at, elementum semper dolor. Donec tincidunt risus sed magna dictum, quis luctus metus volutpat. Donec accumsan et nunc vulputate accumsan. Vestibulum
tempor, erat in mattis fringilla, elit urna ornare nunc, vel pretium elit sem quis orci. Vivamus condimentum dictum tempor. Nam at est ante. Sed lobortis et lorem in sagittis. In suscipit in est et vehicula.</p>
</div>
Lorem Ipsum* Metin için özür dileriz.
Matthew Wilcoxson](https://stackoverflow.com/users/266375/matthew-wilcoxson)'a .content:before
kullanarak daha iyi bir uygulama yaptığı için teşekkürler http://codepen.io/akademy/pen/FlkzB
Bunu yapmak için HTML'inizi yeniden yapılandırmanız gerekir. Arka planı bulanıklaştırmak için tüm öğeyi bulanıklaştırmanız gerekir. Yani yalnızca arka planı bulanıklaştırmak istiyorsanız, bunun kendi öğesi olması gerekir.