36

Bootstrap 在显示模态对话框时使用停电。如何在整个背景上制作模糊效果?

4

5 回答 5

57

您需要先更改文档的结构。它应该看起来像这样

<body>
   <div class="supreme-container">all your content goes here except for the modal</div>
   <div id="myModal" class="modal fade">This is your modal.</div>
</body>

然后在css中

body.modal-open .supreme-container{
    -webkit-filter: blur(1px);
    -moz-filter: blur(1px);
    -o-filter: blur(1px);
    -ms-filter: blur(1px);
    filter: blur(1px);
}
于 2013-10-24T17:33:33.870 回答
33

如果您使用的是 boostrap,那么您的内容已经在某种容器中。因此,这对我有用,无需更改 HTML 或任何其他 JS:

.modal-open .container-fluid, .modal-open  .container {
    -webkit-filter: blur(5px) grayscale(90%);
}
于 2016-06-17T11:50:45.517 回答
11

对我来说,我一个接一个地打开一个模态,所以没有解决方案在第二个模态和下面的 CSS 上工作在每个模态中每次都工作:

.modal-backdrop{
   backdrop-filter: blur(5px);
   background-color: #01223770;
}
.modal-backdrop.in{
   opacity: 1 !important;
}
于 2019-11-15T07:31:35.597 回答
9

我认为实现这一点的最简单方法是blur在模式打开时使用 jQuery 将一个类应用于背景元素。blur模态关闭时删除...

.blur {
    box-shadow: 0px 0px 20px 20px rgba(255,255,255,1);
    text-shadow: 0px 0px 10px rgba(51, 51, 51, 0.9);
    transform: scale(0.9);
    opacity: 0.6;
}

http://bootply.com/74705

于 2013-10-24T17:41:14.067 回答
0

对我来说,以下解决方案工作正常

.modal-open .container-fluid, .modal-open  .container {
  -webkit-filter: blur(1px);
  -moz-filter: blur(1px);
  -o-filter: blur(1px);
    -ms-filter: blur(1px);
    filter: blur(1px);
}
于 2019-03-12T10:54:53.107 回答