谁能告诉我如何将自己的样式添加到ace:dialog
组件中?它给出了一个styleClass
属性。但这ace:dialog
也有自己的风格。我不是一个好的css人,所以你能帮我解决这个问题吗?
谢谢你。
很明显的方法是使用任何浏览器的代码检查器,最好是 Firefox 的 Firebug,检查由 UI 组件套件和 CSS 样式生成的 HTML 标记。这样你就可以轻松地覆盖你想要的 CSS。
更接近问题,来自展示示例<ace:dialog>
的标记
<ace:dialog id="dialog"
header="A sample dialog overview example"
widgetVar="sampleDialog"
closable="false"
modal="true"
draggable="false"
showEffect="clip"
hideEffect="fade"
width="400">
<h:form>...</h:form>
</ace:dialog>
显示以下 HTML 标记和样式:
<div class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-resizable"
style="display: block; z-index: 1002; outline: 0px none; position: absolute; height: auto; min-width: 150px; width: 400px; top: 409.5px; left: 488px;" tabindex="-1" role="dialog" aria-labelledby="ui-dialog-title-dialog_main">
<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix">
<span id="ui-dialog-title-dialog_main" class="ui-dialog-title">A sample dialog overview example</span>
</div>
<div id="dialog_main" class="ui-dialog-content ui-widget-content"
style="width: auto; min-height: 0px; height: auto;" scrolltop="0" scrollleft="0">
<form>...</form>
</div>
<div class="ui-resizable-handle ui-resizable-n" style="z-index: 1000;"></div>
...
</div>
因此,检查告诉我们以下样式:
ui-dialog
为基地<div>
;ui-dialog-titlebar
对于标题容器;ui-dialog-title
对于标题中的文本;ui-dialog-content
为对话内容<div>
。更改检查器中的 CSS 以实现您想要的,并遵循 BalusC 的示例,了解如何使用您的自定义样式覆盖预定义的主题 CSS,来自如何覆盖 primefaces.css 中定义的那些类?问题。