如何在 jQuery 移动版中将叠加面板后面的颜色变暗?

How do I darken behind my overlay panel in jQuery Mobile?

我已从 jQuery 移动网站获取面板代码并将其合并到我的文件中。 我想在面板 显示在屏幕上时使面板后面的内容变暗或模糊。我试过使用 filter:blur(5px) 但无济于事。我使用的语法正确吗?请查看图片以获得所需的结果。

HTML:

<!-- Subheader --> 
        <div data-role="header" class="subheader" data-position="fixed">
            <a href="#filterPanel" class="ui-btn-right" >Filter</a>
            <div class="subheadertext">Available job opportunities...</div>
        </div>

            <!-- Subheader Filter Panel -->
            <div data-role="panel" id="filterPanel" data-display="overlay" data-position="right">
                <p>This will be the filter panel</p>
            </div>

CSS:

/* Subheader Filter Panel */

#filterPanel {
    background-color: #99c5cc;
    color: white;
    text-shadow: none;
}

您只能将滤镜 属性 blur() 应用于图像或 SVG:https://www.w3.org/TR/filter-effects-1/#funcdef-blur

在这种情况下,您想要模糊 HTML 内容,最好的办法是对位于内容上方的元素应用不透明度。在打开侧面板时查看 jQuery 手机,它实际上提供了这种类型的覆盖。

尝试将此 CSS 添加到您的项目中:

.ui-panel-dismiss-open {
  background: rgba(0, 0, 0, 0.8) !important;
}

查看它在 jQuery 移动网站上运行的屏幕截图(请注意控制台中的 CSS):