这就是我所拥有的。我在GWT中设置了一个树,只处理一定级别的孩子,从服务器检索,只根据一个孩子点击更新。我熟悉addStyleName()函数,我使用它来设置某些树节点的前景色,并且它已在我项目的先前版本中成功出现(没有服务器调用)。
问题归结为如果熟悉GWT的人知道为什么我的自定义CSS会在节点的子更新上被覆盖的原因。那么例如,当服务器处理节点时它以我正确的CSS颜色显示,但是一旦服务器显示它有子节点,它就会对该节点执行addItem(),并且父节点的文本颜色的CSS将恢复为默认值。
这一切都假设我没有removeStyleName()调用或任何删除/重新创建。有人熟悉这样的情况吗?
谢谢!
编辑:这是我将其缩小到
的一些代码HTML
<html>
<head>
<link type="text/css" rel="stylesheet" href="test.css">
</head>
<body>
<p>blaghblagh</p>
<div class="Foreground1">
hey
<table style="white-space: nowrap;">
<tbody>
<td style="vertical-align: middle;">
<div style="display: inline;">
ContinuingPromise '08
</div>
</td>
</tbody>
</table>
CSS:
body{
color: black;
}
.Foreground1{
color: green;
}
如果您输入此代码,您会看到ContinuingPromise为黑色,尽管它位于前景div中,应该是绿色。此外,“嘿”这个词会显示为绿色。我错过了什么基本的东西?再次感谢
答案 0 :(得分:1)
我不确定这是否解决了您的原始问题,但颜色问题很可能是由您使用的doctype引起的。如果html页面使用quirks模式,则表格不会正确继承样式属性。见http://reference.sitepoint.com/css/inheritance。设置doctype或不同的doctype可能会解决您的问题。如果您使用任何GWT布局面板,则需要将文档类型设置为<!DOCTYPE html>
,请参阅http://code.google.com/webtoolkit/doc/latest/DevGuideUiPanels.html#Standards