【问题标题】:Change the theme or style of a dijit更改 dijit 的主题或样式
【发布时间】:2012-02-13 20:20:57
【问题描述】:

JSP1:有 Dojo 小部件。样式主题“claro”用于 body 标签。

JSP2:有一个 dojo 小部件 - 对话框。样式定义直接应用于小部件。 (功能上这个jsp是一个页脚)。

<div dojoType="dijit.Dialog" id="privacyDialog" style="background-color:#FFFFDF; border-style:solid; border-width:1px; border-color:#000; height:203px; width:350px; z-index:9999; display:none;">

JSP1 包含 JSP2

问题:在运行时,JSP2 中对话框上定义的样式被覆盖,对话框出现时带有 claro.css 中定义的样式(标题带有蓝色、关闭图标等的栏)。

必需:对话框应该按照 JSP2 小部件中定义的方式显示。

我在阅读 http://dojotoolkit.org/reference-guide/dijit/themes.html#id24 后尝试覆盖主题,但它仍然部分显示 claro.css 中指定的主题(关闭图标、标题栏)

在我的例子中:将类指定为“form1”,并且在 claro.css 中添加的代码是

【问题讨论】:

    标签: css dialog dojo


    【解决方案1】:

    您的策略是正确的:创建一个更具体的 CSS 选择器样式,因此它将覆盖默认值。

    一定是您的选择器 (.form1 .dijitDialog) 未应用于该元素。查看 Firebug 检查器中的元素 - 是否找到了您的样式但被覆盖(在 Firebug 样式检查器中,它是否有删除线)? claro 中可能有一些更具体的风格。

    或者,你的样式根本没有应用到元素上?

    另外,我敦促您不要将样式放入 claro.css 文件中,而是放入您自己的 .css 文件中。这将使升级道场不再是噩梦。

    更新 我看到了:

    在运行时,在 JSP2 对话框中定义的样式正在获取 被覆盖,并出现对话框,其中包含定义的样式 在 claro.css 中(带有蓝色的标题栏、关闭图标等)。

    这意味着您的样式已找到并被应用。道场主题风格更加具体。覆盖你的选择器是什么?

    如果没有看到,我可能会建议在您的正文标签中添加一个类,例如 &lt;body class='claro myCompany'...,然后将其添加到您的选择器中:

    .myCompany .form1 .dijitDialog

    【讨论】:

    • 更新:成功了!!!正如您所建议的,我在另一个 css 中添加了新的 dojo 对话框选择器。谢谢
    • 你能举个例子吗
    猜你喜欢
    • 2016-12-12
    • 2012-05-07
    • 2010-09-25
    • 2015-09-16
    • 2019-04-11
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 2018-08-28
    相关资源
    最近更新 更多