我的webapp中有ajax加载模式对话框:
<p:dialog widgetVar="statusDialog" modal="true" draggable="false" minimizable="false" appendToBody="true"
closable="false" header="Processing..." resizable="false" maximizable="false" style="overflow:hidden !important; overflow-x: hidden !important; width:auto;">
<p:graphicImage library="assets" name="ajax-loader.gif" style="overflow:hidden !important; overflow-x: hidden !important;"></p:graphicImage>
</p:dialog>
<p:ajaxStatus onstart="statusDialog.show();" onsuccess="statusDialog.hide();"/>
无论什么CSS样式(我尝试了各种溢出/溢出-x等组合)我用它仍然显示水平(垂直隐藏,没有问题)滚动条。我还玩过appendToBody属性。
我需要禁用水平滚动条。
编辑:这是PrimeFaces提供的HTML
<div id="j_idt18" class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-shadow ui-overlay-hidden" style="overflow: hidden; width: auto; height: auto; left: 832px; top: 210px; visibility: hidden; z-index: 1003; display: block;" role="dialog" aria-labelledby="j_idt18_title" aria-hidden="true" aria-live="off">
<div class="ui-dialog-titlebar ui-widget-header ui-helper-clearfix ui-corner-top">
<span id="j_idt18_title" class="ui-dialog-title">Processing...</span>
</div>
<div class="ui-dialog-content ui-widget-content" style="height: auto;"><img id="j_idt19" src="/webapp/do/javax.faces.resource/ajax-loader.gif?ln=assets" alt="">
</div>
</div>
我已经能够通过覆盖我自己的样式表中的默认对话框CSS来摆脱滚动条:
.ui-dialog-content {
overflow: hidden !important;
}
然而,这会影响所有对话框,而不仅仅是ajax加载对话框。我希望能够在每个对话框的基础上覆盖该样式。我该怎么做?
答案 0 :(得分:6)
在statusDialog
对话框中添加styleClass="disable-scroll"
。
另外,为此创建CSS规则:
.disable-scroll .ui-dialog-content {
overflow: hidden !important;
}
这会将CSS应用于具有此自定义类的所有对话框。