2013-03-28 62 views
0

我在GWT中正確對齊DecoratorPanel中的內容時出現問題。垂直瓦片GWT面板

使用下面的代碼片段,所有內容似乎是垂直對齊到中間

DecoratorPanel decor = new DecoratorPanel(); 
decor.setHeight("100%"); 
decor.add(new Label("Test")); 

圖來解釋(?):

   --------     -------- 
I get this: |  | I want this: |test | 
      |  |     |  | 
      |test |     |  | 
      |  |     |  | 
      |  |     |  | 
      --------     -------- 

我已經試過decor.getElement().getStyle().setVerticalAlign(VerticalAlign.TOP);,但它確實似乎沒有影響任何東西。

如何將內容與面板頂部對齊?

更新:

我有通知,如果我用一個LayoutPanel代替DecorPanel一切似乎正確對齊。

難道問題是我正在使用常規​​和LayoutPanels?如果是這樣,爲什麼我有問題?

回答

0

A DecoratorPanel使用HTML table,而另一個使用div。因此,使用DecoratorPanel可以在table元素上設置垂直樣式,而不是內容,這解釋了您看到的內容以及不使用此面板的原因。所以你要麼應該使用基於div的面板,要麼在標籤上設置對齊方式,或者在td(即label.getElement().getParent(),但這有點醜陋,容易出現未來錯誤)。

0

獲取td元素。

... . getElement().setStyleName("myStyle");

然後在你的CSS

.myStyle td{ 
vAlign : centre; 
} 
0

DecoratorPanel是9盒面板,其被用於周圍放置圖片,專爲小部件的圓角效果也最有用,周圍有AA電池當你設置爲100%時,它可能會將所有單元格的寬度和高度應用到中間的標籤中。