2014-02-03 4 views
0

Я использую панель макета с несколькими слоями. Один из слоев довольно прост, но я хочу, чтобы у него был float: прямо на элементе. Но на самом деле это не работает, потому что подвижники имеют стиль style="postition: absolute; left: 0px; ...", который переопределяет стиль, и поэтому подпанели/виджеты всегда будут размещаться слева. Любое обходное решение для этого?LayoutPanel с правильным выравниванием

ответ

1

После добавления вашего элемента в контейнер макета, вы попробовали setWidgetHorizontalPosition?

Если вышеуказанный метод не работает, и вы хотите использовать float right, возможно, вы можете использовать систему без макета с FlowPanel. В противном случае вам придется фиксировать положение и ширину/высоту ваших компонентов, но вы можете потерять гибкий дизайн.

Последняя уловка: Если вам действительно нужно изменить абсолютный стиль. В компоненте сделать что-то вроде этого (сделать это после того, как ваш компонент был добавлен к йоту)

this.getElement().getParent().getStyle().set..... 

Вы можете сбросить все, что свойство вы хотите, но это может нарушить макет

+0

Я согласен. Слои не должны плавать. Если вам нужно поплавок, используйте FlowPanel. –

+0

Это не поплавок, я хочу, чтобы они были выровнены справа, а не справа. На самом деле у меня есть своего рода панель меню с 3 различными ячейками (левая, средняя, ​​правая), а правая - также с правой стороны. Обертка виджеты внутри слоя в FlowPanel, а затем настройка их на float: на самом деле также работает, но я не думаю, что это предполагаемое решение. –

+0

поэтому используйте setWidgetRightWidth с 0 для правой (но нужна ширина вашей «ячейки») –

Смежные вопросы