【问题标题】:gwt panel horizontal alignment not workinggwt面板水平对齐不起作用
【发布时间】:2010-12-18 23:16:30
【问题描述】:

我有一个如下所示的 GWT 对话框:

public class FooDialog extends DialogBox {

public FooDialog() {
        setText("Foo Dialog");
        VerticalPanel outer = new VerticalPanel();
        outer.setBorderWidth(3);
        outer.setSize("400px", "200px");
        outer.setHorizontalAlignment(HasAlignment.ALIGN_CENTER);
        outer.setVerticalAlignment(HasAlignment.ALIGN_MIDDLE);

        Button cancelButton = new Button("Cancel", new ClickHandler() {
      public void onClick(ClickEvent event) {
        hide();
      }
    });

        HorizontalPanel buttons = new HorizontalPanel();
        buttons.setBorderWidth(3);
        buttons.add(cancelButton);

        outer.add(buttons);

        setWidget(outer);
    }
}

由于某种原因,“按钮”面板不遵守水平对齐设置;它粘在外面板的左侧。但是,它确实遵守 vertialAlignment 设置。有任何想法吗?谢谢!

【问题讨论】:

  • 对齐工作在 GWT 1.7.1、托管模式浏览器和 Chrome 中编译。

标签: gwt dialog alignment panel


【解决方案1】:

表格不尊重父级的水平对齐属性。相反,将子表的左右边距设置为“自动”。

buttons.getElement().getStyle().setProperty("marginLeft", "auto"); button.getElement().getStyle().setProperty("marginRight", "auto");

更多信息:Center a table with CSS

【讨论】:

  • 谢谢马特!如果我想将按钮中的元素向右对齐怎么办?
  • 很好,谢谢马特。将边距设置为“自动”也适用于 ASP.NET 面板控件中的表格。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多