#gwt
#gwt
Вопрос:
Я использую com.google.gwt.user.client.ui.Виджеты FlowPanel очень близки друг к другу. Однако я не могу понять, как установить поля?
Кстати, возможно, есть макеты получше? Мне просто нужен контейнер для нескольких якорей, расположенных один за другим.
Ответ №1:
Вы можете сделать это программно :
flowPanel.getElement().getStyle().setProperty("margin", "10px");
Или с помощью класса CSS, который объявляет margin ( YourCssClassWithMargin{ margin: 10px; }
) :
-> если вы используете UiBinder, добавьте стиль CSS таким образом :
<g:FlowPanel styleName='YourCssClassWithMargin'>
-> если вы не используете UiBinder таким образом :
flowPanel.addStyleName("YourCssClassWithMargin");
Комментарии:
1. я пробовал это
flowPanel.getElement().getStyle().setProperty("margin", "10px");
. Это делает разные вещи. Этот код добавляет пространство в границы flowpanel. Но мне нужно добавить пространство между виджетами внутри FlowPanel2. хорошо, когда я добавляю поля
anchor
вместоflowPanel
, у меня есть почти то, что я хочу. Но этот код добавляет как вертикальные, так и горизонтальные поля. Мне нужно только горизонтальное поле, мне не нужно вертикальное поле — возможно ли это?3. Да, используйте marginLeft и / или marginRight вместо просто margin.
Ответ №2:
Добавлены новые методы со всеми элементами свойств в качестве отдельных методов. Это очень удобно, например
`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);`
Ответ №3:
Самым простым способом было бы использовать селекторы, которые есть в CSS.
Если вы хотите применить a margin
ко всему Anchors
Divs
(A FlowPanel
является нормальным Div
), вы используете этот CSS:
div a {
margin:10px;
}
Если вы хотите применить margin
только к Anchor
своему FlowPanel
, вы бы сделали что-то вроде этого:
.FlowPanelStyle {
margin:10px;
}
Вам нужно будет применить FlowPanelStyle
к вашему FlowPanel
, позвонив
yourFlowPanel.addStyleName(«FlowPanelStyle»);