0

私が疑問に思っている基本的な質問は、読みやすさ、再利用、コーディング スタイルなどの点で何が好まれるかということです。注目すべきことの 1 つは、この JSP はページの複数の部分で使用できるということです。特定の方法でスタイルを設定し、ページに数回配置する必要がある div。

クラスを共有 CSS ファイルに外部化できることはわかっていますが、このクラスはページのこの部分でのみ使用されます。たとえば、製品全体で紫色にする必要があるのはこのボックスだけです。私の意見では、JSP をクリーンアップするために共有 CSS を汚すのは意味がありません。では、何が良いのか

オプション 1 (ID セレクターの使用)

<% String contextName = request.getParameter("myContext"); %>

<style type="text/css">
    #<%=contextName %>_myDiv
    {
        font-weight: bold;
        background-color: purple;
        height: 20px;
    }
</style>

<div id="<%=contextName %>_myDiv">
    <div>Blah Blah Blah!</div>
</div>

オプション 2 (クラス セレクターの使用)

<% String contextName = request.getParameter("myContext"); %>

<style type="text/css">
    .<%=contextName %>_myDiv
    {
        font-weight: bold;
        background-color: purple;
        height: 20px;
    }
</style>

<div class="<%=contextName %>_myDiv">
    <div>Blah Blah Blah!</div>
</div>

共有クラスを使用しているため、オプション 2 を使用するとデバッグが容易になるように思えますが、(たとえば) ページにこれらのボックスが 50 個ある場合、このクラスが 50 回宣言されることになります。これにより、ブラウザに余分な作業が発生しますか。代わりに、ID セレクター メソッドを使用すると、まったく同じことを行う 50 の一意のスタイルを作成し、ブラウザーがすべての ID を照合するための余分な作業が発生します。

それで、何が良いですか?注:これらの方法はどちらも機能します。各方法の長所と短所を探しているだけです。

4

4 に答える 4

2

styleとにかく要素を含めるべきではないbodyので、スタイルをスタイルシートに入れる必要があります。IDはページ内で一意である必要があるため、クラスを使用します。

それをしたくないのであれば、styleタグを付ける理由もありません。要素にスタイルを入れるだけです:

<div style="font-weight:bold;background-color:purple;height:20px;">
  <div>Blah Blah Blah!</div>
</div>
于 2012-11-21T20:27:03.923 に答える
1

クラスを使用することをお勧めします。これは、そのオブジェクトのページに複数のインスタンスがある可能性があるためです。

ただし、実行していることについては、さまざまなスタイルオプションをハードコーディングして、cssファイルに配置することをお勧めします。

他のページと共有する必要はなく、特定のビューに直接リンクするだけです。これにより、1つのスタイル参照が50回重複することもなくなります。次に、その特定のオブジェクトのクラスを生成します。

于 2012-11-21T20:25:36.903 に答える
1

スタイルが一度使用される場合は、ID.

スタイルが複数回使用される場合は、class name. クラスは 1 回だけ宣言する必要がありますが、そのクラス名を使用する任意の要素で参照されます。

複数のクラス名を使用して、「基本」クラスからのバリエーションを処理できます。

一般に、ブラウザがファイルをキャッシュできるようにするには、外部スタイルシートを使用する必要があります。

于 2012-11-21T20:22:09.907 に答える
1

階層を確認する必要があります。

「ID は一意ですが、クラスは一意ではありません」

この記事をチェックしてください http://css-tricks.com/the-difference-between-id-and-class/

于 2012-11-21T20:45:27.233 に答える