css - GWT:如何在不同的 SplitLayoutPanel 中为拆分器设置不同的样式?

标签 css gwt

我知道您可以使用文档中列出的默认样式更改拆分器的样式:

.gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-HDragger { horizontal dragger }
.gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-VDragger { vertical dragger }

我们在早期的开发中已经做到了。但是,现在我正在开发新的东西,并且想在新的 SplitLayoutPanel 中为拆分器使用不同的样式。不幸的是,我们没有或不能将应用程序拆分为不同的模块,这可能会使这更容易。

我尝试创建一种新样式并将其应用于我的新 SplitLayoutPanel,但它似乎对拆分器没有任何影响。我认为可能有一种方法可以处理拆分器以便将新样式仅应用于它们,但我没有找到任何此类方法。

最佳答案

最好的方法是使用 CSS selectors并将样式名称添加到您的 SplitLayoutPanel。

SplitLayoutPanel greenPanel = new SplitLayoutPanel();
greenPanel.addStyleName("green");
greenPanel.addEast(new Label("Green East"), 50);
greenPanel.add(new Label("Green Center"));
SplitLayoutPanel redPanel = new SplitLayoutPanel();
redPanel.addStyleName("red");
redPanel.addNorth(new Label("Red North"), 50);
redPanel.add(new Label("Red Center"));

StyleInjector.inject(".green.gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-HDragger { background: green; }");
StyleInjector.inject(".green.gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-VDragger { background: green; }");
StyleInjector.inject(".red.gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-HDragger { background: red; }");
StyleInjector.inject(".red.gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-VDragger { background: red; }");
RootLayoutPanel rlp = RootLayoutPanel.get();
rlp.add(greenPanel);
rlp.setWidgetTopHeight(greenPanel, 0, PX, 50, PCT);
rlp.add(redPanel);
rlp.setWidgetBottomHeight(redPanel, 0, PX, 50, PCT);

关于css - GWT:如何在不同的 SplitLayoutPanel 中为拆分器设置不同的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4608000/

相关文章:

javascript - 在 ReactJs 中修改子最后一个组件和 css 属性

javascript - CSS 缩放属性破坏字体的外观

php - 评分已知时如何在 css 中显示星级?

apache - GWT 和 SSL 不工作?

GWT 值列表框 : can it support more than a single selection?

css - 有没有办法重新设计微软机器人的网络聊天界面?

html - 使用 bootstrap 3.3.5,页脚不会粘在页尾

java - 通过 GWT 中的延迟绑定(bind)实例化接口(interface)?

css - gwt-style=obf 为媒体查询创建无效的 CSS

java - addDomHandler 和 Implements handler 之间的区别