1

テーマにはさまざまなスタイルがあります(さまざまな配色)。

最初にデフォルトのcssをロードし、次に使用する配色に応じて特定の色などのcssスタイルシートをロードします。

サイトの速度をテストしたところ、2つのスタイルシートをロードする必要があるため、遅延に気づきました。

すべてのスタイルを1つのファイル内に配置し、2つの異なるスタイルを使用しない方法はありますか?また、これはクロスブラウザである必要があります。

4

6 に答える 6

2

カラーオーバーライドの場合、IDセレクター内にネストし、そのIDをbody要素に指定して、配色を選択できます。これにより、多くのテーマを1つのファイルに保存できます。

例えば

/* defaults */
h1 { color : black; }

/* light theme */
#light h1 { color : grey; } 

/* neon theme */
#neon h1 { color : pink; } 

次に、ボディクラスを次のように設定します。

<body id="neon">

LESSを使用している場合は、トップレベルのスタイルをカラースキーム全体に簡単にラップして、レイアウトをすっきりさせることができます。例えば

#light {
    h1 { color : grey; } 
    p { color : silver; }
}
于 2012-08-29T07:44:13.887 に答える
0

サーバー側のテクノロジーによっては、CSSとJSを「バンドル」して、1つのファイルとしてクライアントに提供されるようにする必要があります。これにより、.jsと.cssを圧縮して縮小することもできます。

于 2012-08-29T07:44:28.030 に答える
0

2つのスタイルシートのロードと1つのスタイルシートのロードの大幅な遅延に気付かないはずです。

ただし、質問に答えるために、2番目のスタイルシートファイルのすべての内容を最初のスタイルシートファイルの最後にコピーすると、同じ結果になるはずです。

于 2012-08-29T07:39:52.603 に答える
0

すべてのスタイルを1つのファイルにコピーする場合、bodyに2つのクラスを定義し、すべてのスタイルに対応するクラスのプレフィックスを付けることができます。

したがって<body class="scheme1">、CSSルールは次のようになります。.scheme1 h1 {}

于 2012-08-29T07:41:39.600 に答える
0

使用量を減らしてCSSを縮小することができます。

たとえば、thisMのように複数のクラスを使用するか、CSSを縮小する必要があります。

<h1 class="big-text theme-blue"></h1>

次に、cssでMなどのルールを使用します

.big-text.theme-blue
于 2012-08-29T07:52:18.903 に答える
0

1つのスタイルシート内にさまざまな配色があります。配色の変更を示すには、http://prettydiff.com/にアクセスして、配色リストの値を別の値に変更します。これは、bodyタグのclass属性を変更するだけで、1つのCSSファイル内のさまざまなCSSプロパティを参照します。

スタイルシートはhttp://prettydiff.com/diffview.cssにあります

于 2012-08-29T22:46:27.110 に答える