2010-07-11 50 views
1

這就是我所得到的。我在GWT中設置了一棵樹,只處理一定深度的兒童,從服務器檢索並根據哪些兒童點擊進行更新。我熟悉addStyleName()函數,並且我用它來設置某些樹節點的前景色,並且它在我的項目的以前版本(沒有服務器調用)上成功出現。更新時忽略了GWT CSS

問題歸結爲,如果你們任何一個熟悉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中應該是綠色的。此外,單詞'hey'將顯示爲綠色。我缺少一些基本的東西嗎?再次感謝

+0

0123同時,在螢火蟲中,有問題的節點的CSS顯示(在螢火蟲中),就好像顏色顯示正常一樣,螢火蟲也沒有顯示任何其他CSS規則的顏色重寫。也許GWT內的東西? – 2010-07-11 03:04:34

+0

可能的原因是主要的GWT CSS文件('standard.css')覆蓋了您的CSS類(儘管Firebug似乎不同意) - 您是否嘗試將CS​​S文件置於「頂部」:http:// stackoverflow。 COM /問題/ 2322779/GWT主題的風格,覆蓋-MY-CSS樣式/ 2323620#2323620? – 2010-07-11 14:58:06

+0

我從來沒有看到standard.css甚至鏈接,當我查看頁面源。似乎發生的是,應用的下一個顏色:規則在體內{color:black; }並且當我更改此值時,它會影響更新的節點顏色(所討論的節點)。因此,由於某種原因,當節點更新時,即使它仍在.Foreground1 {color:green;} div中,它仍會回到正文顏色定義。我也嘗試了!重要但它沒有影響。 :( – 2010-07-12 20:35:40

回答

1

我不確定這是否解決了您的原始問題,但顏色問題很可能是由您使用的文檔類型引起的。如果html頁面使用怪異模式,那麼樣式屬性不會被表格正確地繼承。請參閱http://reference.sitepoint.com/css/inheritance。設置文檔類型或不同的文檔類型可能會解決您的問題。如果您使用任何GWT佈局面板,則需要將doctype設置爲<!DOCTYPE html>,請參閱http://code.google.com/webtoolkit/doc/latest/DevGuideUiPanels.html#Standards

+0

好極了,那會做到這一點,我從來沒有真正看過怪癖/標準模式之間的區別,但現在我真的遇到了一個問題哈哈,雖然,因爲這是一個相當大的這個項目我不太熟悉,我不想搞亂那些可能仍然是越野車的少數幾個面板,我找到了一個解決方法,在每個有這個表格的類後添加一個*,好像很好地應用,我將來會記住這一點,再次感謝。 – 2010-07-14 18:25:26