1

ここまでで、GWT 開発者が Web アプリケーションに CSS を挿入できる 4 つの異なる場所を説明してきました。

  1. MyWebApp/war/hello_gwt.htmlHTML ホスト ページ内に、次の行を含めるなど、外部スタイルシートへの HTML リンクを配置できます。<link type="text/css" rel="stylesheet" href="mywebapp/webModule.css">
  2. アプリがバインドされたサブクラスClientBundleにアクセスできるようにする実装 を使用するCssResource
  3. UI バインダー XML 経由
  4. 次のように gwt.xml ファイルにテーマ/スタイリングを含めることができます<inherits name="com.google.gwt.user.theme.standard.Standard"/>

この 4 つのそれぞれがどのような仕事を遂行することになっているのか、私は混乱しています。言い換えれば、これらの「CSS メカニズム」はどのように連携して Web アプリに必要なすべてのスタイルを提供するのでしょうか? それとも同じことを達成するための方法が異なるだけなのでしょうか? 異なるシナリオでそれぞれ異なる長所/短所がありますか? もしそうなら、それらは何ですか?

LayoutorLayoutPanelを使用してアプリの主要な表示領域を配置し、CSS を使用して個々の領域やコンテナーなどをスタイルするという戦略が好きです。したがって、上記の最初のケース (HTML 外部 CSS リンク) は何かではないようです。 UI が進化するにつれて、新しいウィジェットごとに CSS をカスタマイズしたいと考えています。

GWT ランドで CSS オプションを選択しようとするときに、通過するリトマスを探しているだけだと思います。前もって感謝します!

4

2 に答える 2

1

1. と 3. (css ファイルと ui バインダー xml) は、同じことを行う別のメカニズムです。

スタイルをUIバインダーに配置すると、このUIバインダーでのみ表示されるため、他のクラスで(簡単に)再利用することはできません。ただし、この方法を使用すると、コンポーネントに使用されるすべてのスタイルを 1 か所で確認できるため、スタイルをクリーンに保つことが容易になります。

スタイルを CSS に配置すると、さまざまなコンポーネントでスタイルを再利用できますが、ウィジェットで作業する場合は 2 つのファイルを編集する必要があります。

もちろん、UI バインダー スタイルと「別の CSS ファイル」の両方を使用できます。

4. は、使用する GWT 定義済みスタイルを通知するだけです。GWT にはすべてのウィジェットのデフォルト スタイルがあり、この継承によりアプリで使用されるものがわかります。

于 2012-11-06T12:57:43.137 に答える
1

Ui:Binder でスタイルを定義しないことを強くお勧めします。アプリ全体でスタイルの一貫性を維持し、保証することが非常に困難になります。ベスト プラクティスは、すべての CSS を 1 か所に保持することです。

外部CSSメソッドとCssResourceの両方を使用して、「新しいウィジェットごとにスタイルをカスタマイズ」できます。外部ファイルでは、このファイルのクラス名を使用してスタイルを設定するだけです。UI の進化に合わせて、新しいクラスを追加したり、既存のクラスを変更したりできます。また、外部 CSS ファイルを使用してテーマを簡単に作成することもできます。

外部 CSS と CssResource メソッドには他にも違いがあります。

CSS ファイルは、より伝統的なアプローチです。使いやすく、UI デザイナーの作業もはるかに簡単です。

一方、CssResource は、多くの開発者がいる大規模なプロジェクトでの保守が容易です。また、条件付き CSS、難読化、ランタイム置換などの多くの便利な機能も提供します。

于 2012-11-06T13:52:39.990 に答える