我希望在开始时在“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,但同样的问题又来了。