6

単一のCSSセレクターのスタイルを別のCSSセレクターにインポートして追加したり、プロパティを書き換えたりする方法はありますか?

まあ言ってみれば:

.original_class{
background:black;
color:white;
}
.overwrite{
@import(.original_class); /* I know this doesn't work */
color:blue;
border:1px solid green;
}

これは、.original_classを再宣言し、新しい値を割り当てるだけで実現できます(CSSスタイルは上から下に書き換えられるため)が、これにより元のCSSクラスの属性が置き換えられます。私が欲しいのは、プロパティを再度書き込む(複製する)ことなく、そのプロパティを別のクラスに継承することです。

4

3 に答える 3

2

直接ではありません。

HTMLで次のようなことを行うことができます。

<div class="original_class overwrite">...</div>

これは同じ効果がありますが、そのようにスタイルを設定するすべての要素に対してこれを行う必要があります。

継承/ミックスインをサポートするSASSのようなCSSプリプロセッサを使用するオプションもあります。

于 2012-05-25T09:37:50.800 に答える
2

.overwriteセレクターを既存のセレクターからコンマで区切ることで(セレクターのグループ化)、セレクターを最初のルールに追加できるため、セレクタールールは次のようになり.original_class, .overwriteます。

.original_class,
.overwrite {
background: black;
color: white;
}
.overwrite {
color: blue;
border: 1px solid green;
}

また、あなたが書くとき:

これにより、元のCSSクラスの属性が置き換えられます

CSSには属性やクラスのようなものはなく、OOPの意図された意味ではないと思います。ルール、セレクタールール(HTML ID、クラス、要素、属性、およびその他の疑似を選択するため)、宣言、プロパティ、および値があります。

于 2012-06-17T13:54:36.957 に答える
0

残念ながら違います。少なくとも、1マイルの長さのポールでは触れないような派手なCSSプラグインのものがなければ...

もちろん、1つの要素に複数のクラスがあることを妨げるものは何もありません。

于 2012-05-25T09:38:01.050 に答える