到目前为止,我已经考虑了四(4)个不同的地方,GWT开发人员可以将CSS注入Web应用程序:
MyWebApp/war/hello_gwt.html
包含以下行:<link type="text/css" rel="stylesheet" href="mywebapp/webModule.css">
ClientBundle
来实现您的应用访问绑定的CssResource
子类<inherits name="com.google.gwt.user.theme.standard.Standard"/>
我对这四个人应该完成的工作感到困惑。换句话说,这些“CSS机制”如何协同工作,为Web应用程序提供所需的所有样式,或者它们只是完成相同事物的不同方式?他们每个人在不同情况下都有不同的利弊,如果是,他们是什么?
我喜欢使用Layout
或LayoutPanel
定位应用主要显示区域的策略,然后使用CSS来设置各个区域,容器等的样式。所以看起来像是上面的第一个案例(HTML外部CSS链接)将不成为我正在寻找的东西,看到我想在我的UI发展过程中为每个新窗口小部件自定义CSS。
我想在尝试在GWT-land中选择我的CSS选项时,我只是想寻找一个石蕊。提前谢谢!
答案 0 :(得分:1)
1.和3.(css文件和ui binder xml)是执行相同操作的不同机制。
如果将样式放在UI绑定器中,它将仅在此ui绑定器中可见,因此您不能(轻松地)将其重用于其他类。但是,这样可以更容易保持样式清洁,因为您可以在一个位置看到组件使用的所有样式。
如果将样式放在CSS中,则可以为不同的组件重用样式,但在处理小部件时需要编辑两个文件。
当然,您可以同时使用它们:UI活页夹样式和“单独的CSS文件”。
4.只是您使用的GWT预定义样式的通知。 GWT具有所有小部件的默认样式,此继承告知应用程序中将使用哪种样式。
答案 1 :(得分:1)
我强烈建议不要在Ui:Binder中定义样式。这使得在整个应用程序中维护和确保样式一致性变得非常困难。最佳做法是将所有CSS保存在一个位置。
您可以使用外部CSS方法和CssResource“为每个新窗口小部件自定义样式”。使用外部文件,您只需使用此文件中的类名来设置样式。随着UI的发展,您可以添加新类或修改现有类。您也可以使用外部CSS文件轻松创建主题。
外部CSS和CssResource方法之间存在其他差异。
CSS文件是一种更传统的方法。它更易于使用,UI设计人员也可以更轻松地使用它。
另一方面,CssResource在许多开发人员的大型项目中更容易维护。它还提供了许多有用的功能,如条件CSS,模糊处理,运行时替换等。