2

いくつかの点で互いに競合する 2 つのスタイル シートがあります。私は 5 つ、6 つ、場合によっては 9 つまたは 10 の完全なプラグインを使用しており、それぞれに 3 つまたは 4 つのスタイル シートと独自のスタイル シートが含まれているため、あらゆる場所で競合が発生します。この問題を解決する最善の方法は何ですか? すべてのプラグインのセレクターを変更する唯一のオプションはありますか?

編集: 問題は、すべてのプラグインが互いに競合する独自のスタイル シートを使用していることです。すべてのセレクターを変更しない限り、最適ではあるがおそらく不可能な解決策は、スタイル シートをページの特定の部分に簡単にローカライズすることです。

4

4 に答える 4

1

スタイルのオーバーライドに関するいくつかの非常に基本的なヒントを念頭に置いてください。

まず、他のソースで確実に使用される一般的なクラス名と ID を避けるようにしてください。

次に、 !important はスタイルをオーバーライドできますが、意味のある方法でのみ使用する必要があります...

第三に、css の「カスケード」部分の階層がダウン -> アウト:

そう

#header a{
    color:#fff;
}

#header div a{
    color:#000;
}

#header div.some-class a.active{
    color:#ff0000;
}

一番下のセレクターは、セレクターの恐ろしいチェーンで具体的にターゲットにされているため、どこに配置されても優先されます。そのため、他のソースによって上書きされる可能性を減らす方法で css を記述する必要があるかもしれません。

于 2012-10-12T23:37:01.497 に答える
0

最善の方法は、プラグインを自分で作成しない限り、プラグインのセレクターを変更しないことです競合がないように、独自のクラス/ID/CSS ファイルを変更する必要があります。

于 2012-10-12T23:34:20.787 に答える
0

CSS はできるだけ具体的にしてください。自分のやり方を知っているという自信がない限り、プラグインを変更することはありません。

于 2012-10-12T23:35:29.190 に答える