7

特定の CSS スタイルを拡張する必要があります。たとえば、CSS クラス スタイルを特定のコントロールに動的に割り当てるサード パーティの DLL を使用しています。asp.net プロジェクトで同じ名前の css クラスを作成したいと考えています。サード パーティの DLL のスタイルとプロジェクトの CSS クラス スタイルの両方がコントロールに適用されます。

たとえば、サードパーティは名前でクラスを持っています

.VerticalAlign
{
   vertical-alignment:center;
}

今、名前でクラスを作成します.VerticalAlign { color : #f3f3f3 }

上記のクラスをコントロールに適用する場合、垂直方向の配置と色の両方をコントロールに適用する必要があります。

同じ名前でそれができない場合、サード パーティの dll で定義された CSS クラスからプロパティを継承する別のクラス名で CSS スタイルを作成する可能性はありますか。

4

2 に答える 2

12

CSSの「C」はカスケードを表します。これは、スタイルが先行するCSSルールに追加または優先できることを意味します。したがって、元の宣言に拡張したいスタイルでクラス名を再度宣言する例は、これを行うための適切な方法です。

于 2012-04-25T13:38:19.407 に答える
5

あなたはそれを正しく持っています。同じ名前を保持し、新しいプロパティを追加すると、それらが適用されます。

/* From DLL */
.foo { color: blue; }

/* Your Style */
.foo { text-align: center; }

/* --- Final outcome --- */
.foo {
  color: blue;
  text-align: center;
}

ただし、どちらが優先されるかという問題が発生する可能性があります(両方に色がある場合は、どの色のスタイルが優先されますか)。例えば

/* From DLL */
.foo { color: red; }

/* Your code */
.foo { color: blue; }

使用する!important(ハックっぽい)か、より高い特異性を指定する必要があります(つまり、タグ名、別のクラス名、またはIDを含める)。

于 2012-04-25T13:40:21.347 に答える