首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GWT CSSResource

GWT CSSResource
EN

Stack Overflow用户
提问于 2017-01-30 08:32:41
回答 1查看 1K关注 0票数 0

CSSResource接口

代码语言:javascript
复制
public interface AppResources extends ClientBundle {
    public static final AppResources INSTANCE = GWT.create(AppResources.class);

    interface Style extends CssResource {
        String login();
    }

    @Source("css/style.gss")
    Style style();

    @Source("images/logo.png")
    ImageResource logo();
}

样式

代码语言:javascript
复制
.login {
    width: 100%;
    height: 100%;
}

.login .panel-body {
    text-align: center;
}

.login .loginWrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.login .input-group {
    padding-bottom: 10px;
    width: 300px;
}

.login .input-group-addon {
    width: 100px;
}

当您试图编译时,我有错误

错误以下非混淆类出现在严格的CssResource中:面板-主体。通过将字符串访问器方法添加到混淆类的CssResource接口中,或为未混淆的类使用@外部声明来修正此问题。 错误以下非混淆类存在于严格的CssResource中:输入组-加载项。通过将字符串访问器方法添加到混淆类的CssResource接口中,或为未混淆的类使用@外部声明来修正此问题。 错误以下非混淆类存在于严格的CssResource中:输入组。通过将字符串访问器方法添加到混淆类的CssResource接口中,或为未混淆的类使用@外部声明来修正此问题。

是的,可以通过在界面样式中添加这些样式来解决问题,但我想知道是否可以应用一种育儿方式登录,而孩子会自动向上移动?

EN

回答 1

Stack Overflow用户

发布于 2017-01-30 09:11:20

如果您只想消除编译错误,只需在CSS中的所有类中添加一个@external行,如下所示:

代码语言:javascript
复制
@external panel-body, loginWrapper, input-group, input-group-addon;

这样你就可以告诉GWT:“忽略这个类,我会处理它们”。见相关医生

但!

使用CSSResource的要点之一是您可以这样做:

代码语言:javascript
复制
myWidget.addClassName(AppResources.INSTANCE.style().panelBody());
myWidget.removeClassName(AppResources.INSTANCE.style().loginWrapper());

而不是这样:

代码语言:javascript
复制
myWidget.addClassName("panel-body");
myWidget.removeClassName("loginWrapper");

第二个版本更容易出错,因为您是手工编写类名,在启动应用程序之前,您不会知道是否正确(除非IDE检查CSS类名并事先警告您)。

使用CSSResource,您可以使用所有必要的方法理想地定义样式接口,并在您的Java代码中使用它们,并让其他人(设计人员)负责支持实际的CSS文件和属性。

而且,由于您的Java代码现在只关心接口方法,GWT可以使用您的CSS并清理它,缩小它并混淆它,以便在编译和运行时能够更好地管理它。

这些额外好处的代价是必须为您希望GWT管理的每个CSS类定义一个方法。如果您只有一堆类,那么最好为它们添加方法。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41931604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档