JSP1 :具有Dojo widget.Style主题“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中添加代码
答案 0 :(得分:2)
您的策略是正确的:创建一个更具体的CSS选择器样式,因此它将覆盖默认值。
必须是您的选择器(.form1 .dijitDialog
)未应用于该元素。查看Firebug检查器中的元素 - 您的样式是否被发现但被覆盖(在firebug样式检查器中,它是否具有删除功能)? claro中可能有一些更具体的风格。
或者,你的风格根本没有应用于元素吗?
另外,我建议你不要把你的样式放到claro.css文件中,而是放在你自己的.css文件中。这将使dojo升级更少噩梦。
<强>更新强> 我明白了:
在运行时,JSP2中的对话框中定义的样式正在获得 覆盖,将出现带有已定义样式的对话框 在claro.css中(带蓝色标题栏,关闭图标等)。
这意味着您的样式被找到并被应用。道场主题风格更具体。什么是覆盖你的选择器?
如果没有看到,我可能会建议在您的正文标记中添加一个类,例如<body class='claro myCompany'...
,然后将其添加到您的选择器中:
.myCompany .form1 .dijitDialog