1

我希望在开始时在“PX”中修复一个字体大小(比如说 onModuleLoad),并将其余的小部件和主题放在“EM”中。这是为了帮助我动态更改不同屏幕分辨率的外观。这是我正在尝试的示例代码。

    root = RootPanel.get();
    root.getElement().getStyle().setFontSize(40, Unit.PX);
    root.setSize("100%", "100%");

    Label l = new Label("Hello World");
    l.getElement().getStyle().setFontSize(1, Unit.EM);
    root.add(l);

    VerticalPanel vp = new VerticalPanel();
    root.add(vp);

    l = new Label("Hello World");
    l.getElement().getStyle().setFontSize(1, Unit.EM);
    vp.add(l);

理想情况下,我想要两个相同字体大小的标签。但是第二个比第一个小很多。但是对于以下代码,它按预期工作。

    root = RootPanel.get();
    root.getElement().getStyle().setFontSize(40, Unit.PX);
    root.setSize("100%", "100%");

    Label l = new Label("Hello World");
    l.getElement().getStyle().setFontSize(1, Unit.EM);
    root.add(l);

    SimplePanel vp = new SimplePanel();
    root.add(vp);

    l = new Label("Hello World");
    l.getElement().getStyle().setFontSize(1, Unit.EM);
    vp.add(l);

如果是这种情况,如果我希望实现一个通用的 em,我似乎应该远离垂直/水平面板。我也试过 FlexTable,但同样的问题又来了。

4

1 回答 1

0

您是否在 gwt.xml 中使用默认 GWT 样式之一?您的字体大小数据可能会在更复杂的面板中被覆盖。

无论如何,我自己也在使用类似的方法。我所做的是,我基本上只是body在我的 CSS 的开头设置整个 HTML 的样式,在 PX 中设置字体大小,然后在其他任何地方使用 EM,并且在大多数情况下效果很好。

于 2013-08-11T03:57:07.320 回答