Мое решение является чем-то вроде гибридного из тех, которые размещены здесь, но я думаю, что оно чище / проще, чем любое из них.
Каждое вертикальное подменю само по себе MenuBar
, добавленный в качестве предмета на верхний уровень MenuBar
.Для любого подменю, которое вы хотите перетащить влево вместо правого, добавьте к нему имя класса стиля, используя .addStyleName("myLeftDropDownStyleName")
для этого MenuBar
Виджет.
Определите правило выбора длявот такой стиль (вот минимальные атрибуты, которые были необходимы для меня, чтобы уронить влево):
.myLeftDropDownStyleName{
position: absolute;
right: 0px;
}
Абсолют позиции относительно первого родительского элемента с позицией, отличной от статической;по крайней мере, в моем случае родительская позиция казалась горизонтальной, где выпадающее меню в противном случае имеет свой левый край без этого решения.Я бы не удивился, если бы Относительная позиция могла бы работать лучше в случаях других людей.
Правое смещение 0px говорит о абсолютной позиции позиции на том горизонтальном месте, о котором я упоминал выше.И, конечно же, размер пикселя может быть> 0, чтобы на столько увеличиваться влево, или даже <0, чтобы так сильно оттягивать его вправо. </p>
Это прекрасно работает для меня, просто иочищает и не заставляет все ваших MenuBars иметь этот стиль (как я думаю, будет иметь место, если вы сами переопределите один из стилей GWT MenuBar).