2011-10-26 85 views
3

我正在使用com.google.gwt.user.client.ui.FlowPanel 小工具非常接近。 但是我不知道如何設置邊距?如何將邊距添加到FlowPanel?

順便說一句,可能有更好的佈局?我只需要一個一個地定位幾個錨的容器。

回答

10

你可以做到這一點通過編程方式:

flowPanel.getElement().getStyle().setProperty("margin", "10px");

或與該聲明保證金(YourCssClassWithMargin{ margin: 10px; })CSS類:

- >如果你用UiBinder的添加CSS樣式是這樣的:

<g:FlowPanel styleName='YourCssClassWithMargin'> 

- >如果你不使用UiBinder的是這樣的:

flowPanel.addStyleName("YourCssClassWithMargin");

+0

我試過'flowPanel.getElement()。getStyle()。setProperty(「margin」,「10px」);'。這做不同的事情。此代碼在流程面板的邊框中添加空間。但我需要在小部件*之間添加空間* flowPanel – javapowered

+0

好吧當我添加到'anchor'而不是'flowPanel'的邊距我幾乎是我想要的。但是這個代碼添加了垂直和水平邊距。我只需要水平邊距,我不需要垂直邊距 - 這有可能嗎? – javapowered

+0

是使用marginLeft和/或marginRight而不是僅僅保證金。 – kgautron

0

easist的方式是使用selectors CSS。

如果你想在所有Divs施加margin所有Anchors(A FlowPanel是正常Div)你使用這個CSS:

div a { 
    margin:10px; 
} 

如果你想在margin只適用於AnchorFlowPanel你會以這樣的事:

.FlowPanelStyle { 
    margin:10px; 
} 

你將不得不在FlowPanelStyle申請喲烏爾FlowPanel通過調用

yourFlowPanel.addStyleName( 「FlowPanelStyle」);

3

新方法已添加所有屬性元素作爲單獨的方法。這很方便,就像

`flowPanel.getElement().getStyle().setMargin(10, Unit.PX);` 
`flowPanel.getElement().getStyle().setMarginLeft(10, Unit.PX);` 
`flowPanel.getElement().getStyle().setMarginRight(10, Unit.PX);` 
`flowPanel.getElement().getStyle().setMarginTop(10, Unit.PX);` 
`flowPanel.getElement().getStyle().setMarginBottom(10, Unit.PX);`