<div class="row">
<div class="col-lg-3">
<button class="btn">
button
</button>
</div>
.col-lg-3{
background-color:#8CD6EB;
-webkit-filter: blur(3px);
-moz-filter: blur(3px);
-o-filter: blur(3px);
-ms-filter: blur(3px);
filter: blur(3px);
}
如果我不想模糊按钮,我需要做什么?
答案 0 :(得分:32)
使用blur
或opacity
属性时,无法忽略子元素。如果将这些属性中的任何一个应用于父元素,它也将自动应用于子元素。
还有另一种解决方案:在您的父div
内创建两个元素 - 一个div
用于背景,另一个div
用于内容。在父position:relative
上设置div
,并将position:absolute; top:0px; right:0px; bottom:0px; left:0px;
(或设置高度/宽度设置为100%)设置为后台的子元素。使用此方法,内容div
不会受到后台属性的影响。
示例:
<div id="parent_div" style="position:relative;height:100px;width:100px;">
<div id="background" style="position:absolute;top:0;left:0;right:0;bottom:0;background-color:red;filter: blur(3px);z-index:-1;"></div>
<div id="textarea">My Text</div>
</div>
&#13;
如果您看到内容背景蒙蔽,请使用the z-index
property发送第二个内容div
后面的背景。
答案 1 :(得分:4)
只需创建两个分区并调整它们的z索引和边距,使得要模糊的分区位于要显示在顶部的分区之下。
PS:不要在分区内创建分区,因为子级继承了父级的属性。
#forblur {
height: 200px;
width: 200px;
background-color: blue;
margin: auto;
-webkit-filter: blur(3px);
-moz-filter: blur(3px);
-o-filter: blur(3px) -ms-filter: blur(3px);
filter: blur(3px);
z-index: -1;
}
#on-top-container {
margin: auto;
margin-top: -200px;
text-align: center;
height: 200px;
width: 200px;
z-index: 10;
}
<div id="forblur">
</div>
<div id="on-top-container">
<p>TEXT</p>
</div>
答案 2 :(得分:2)
如何在子元素上禁用模糊?
.enableBlur>* {
filter: blur(1.2px);
}
.disableBlur {
filter: blur(0);
}
<div class="enableBlur">
<hr>
qqqqq<br>
<span>qqqqq</span><br>
<hr class="disableBlur">
<div>aaaaa</div>
<div>bbbbb</div>
<div class="disableBlur">DDDDD</div>
<hr>
<img src="https://lh5.googleusercontent.com/-n8FG4f09-ug/AAAAAAAAAAI/AAAAAAAACmA/ldtxmWX1SyY/photo.jpg?sz=48">
<img class="disableBlur" src="https://lh5.googleusercontent.com/-n8FG4f09-ug/AAAAAAAAAAI/AAAAAAAACmA/ldtxmWX1SyY/photo.jpg?sz=48">
</div>
答案 3 :(得分:0)
我的解决方案似乎更简单,但可能存在一些兼容性问题。我刚刚将Distributed Testing与模糊滤镜一起使用。
backdrop-filter: blur(2px);