2012-02-13 91 views
1

JSP1:具有Dojo小部件。风格主题“claro”用于body标签。更改dijit的主题或风格

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中添加的是 enter image description here

回答

2

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

它必须是你的选择器(.form1 .dijitDialog)没有被应用到元素。看看Firebug检查器中的元素 - 你的样式是否被找到但被覆盖(在Firebug样式检查器中,它是否具有穿透性)? claro中可能有一些更具体的风格。

或者,你的风格是不是应用到元素上?

此外,我希望你不要把你的风格放到claro.css文件中,而是放在你自己的.css文件中。这将使升级道场更少噩梦。

更新 我看到:

在运行时,在JSP2对话框中定义的样式越来越 重写,似乎与在claro.css定义 的样式(对话框标题栏与蓝色,关闭图标等)。

所以这意味着你的风格被找到并被应用。道场主题风格更具体。什么是替代你的选择器?

没有看到的是,我可能会建议增加一类,你的身体标记,像<body class='claro myCompany'...,然后添加到您的选择:

.myCompany .form1 .dijitDialog

+0

更新:它的工作!正如你所建议的,我添加了另一个CSS的dojo对话框的新选择器。感谢 – SJ11 2012-02-17 15:39:16

+0

真棒,很高兴它帮助! – mtyson 2012-02-17 17:14:41

+0

你能举个例子吗? – 2013-09-12 12:51:36