我希望在开始时在'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,但同样的问题又来了。
答案 0 :(得分:0)
您是否在gwt.xml中使用默认的GWT样式之一?您可以在更复杂的面板中覆盖您的字体大小数据。
无论如何,我自己也采用了类似的方法;我做的是,我基本上只是在我的CSS开头设置整个HTML body
的样式,在PX中设置字体大小,然后在其他地方使用EM,这在大多数情况下都很好用。