html弹出模式打开时如何使背景模糊?

时间:2019-01-10 06:10:00

标签: jquery html css

当我单击按钮时,会打开一个弹出窗口,因此我希望当弹出模式打开背景页面时变得模糊。

<div class="modal" id="myModal">
<div class="modal-dialog modal-lg">
    <div class="modal-content">
        <div class="modal-body" style="max-height:500px;">
            <div class="panel-title text-center" style="width: 99%; padding: 1%;">
                <h1 class="title">Titels</h1>
                <hr style="border: 2px solid;"/>
            </div>

            <div class="table100 ver1 m-b-110">
                <div class="table100-body js-pscroll">
                    <table id="Table" class="display" style="width:100%">
                        <thead>
                        <tr class="row100 head">
                            <th style="text-align: center" class="cell100 column1">id</th>
                            <th style="text-align: center" class="cell100 column1">name</th>
                            <th style="text-align: center" class="cell100 column1">sname</th>
                            <th style="text-align: center" class="cell100 column1">dname</th>
                        </tr>
                        </thead>
                    </table>
                </div>
            </div>
        </div>


        <div class="modal-footer">
            <button type="button" class="btn btn-danger" id="close" data-dismiss="modal">Close</button>
        </div>

    </div>
</div>

这是我的弹出模式代码,但是打开时我不知道如何使背景模糊

5 个答案:

答案 0 :(得分:1)

为模态后面的容器设置模糊样式。

body.modal-open .container{
    -webkit-filter: blur(4px);
    -moz-filter: blur(4px);
    -o-filter: blur(4px);
    -ms-filter: blur(4px);
    filter: blur(4px);
    filter: url("https://gist.githubusercontent.com/amitabhaghosh197/b7865b409e835b5a43b5/raw/1a255b551091924971e7dee8935fd38a7fdf7311/blur".svg#blur);
    filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius='4');
}

demo

答案 1 :(得分:1)

尝试一下,它应该可以工作

`

.blur-filter {
    -webkit-filter: blur(2px);
    -moz-filter: blur(2px);
    -o-filter: blur(2px);
    -ms-filter: blur(2px);
    filter: blur(2px);
}

` 查看此CodePen了解更多详细信息 enter link description here

答案 2 :(得分:1)

您还可以在伪元素之前和之后使用body设置属性。

body:before{
    position:absolute;
    top : 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: black;
    content:"";
    pointer-events: none;
    z-index:100;
    opacity: .5

}

答案 3 :(得分:0)

如果使用的是 Bootstrap 模式,则可以通过CSS设置不透明度。

.modal-backdrop
{
    opacity:0.5 !important;
}

答案 4 :(得分:0)

如果您正在使用Boostrap,则您的内容已经存在于container中。因此,您可以像这样使用CSS filter

.modal-open .container {
    -webkit-filter: blur(5px) grayscale(90%);
    filter: blur(5px) grayscale(90%);
}