2017-11-06 10 views
1

私はsemantic-ui-reactを利用しているプロジェクトを持っています。プロジェクトはwebpackで構築され、sassLoaderが有効になっています。リアクションSemantic UIとカスタムCSSクラス

.test { 
    color: red; 
} 

サンプルテキストが赤く表示されません。私はこのコンポーネントによってロードされたSCSSファイルに次のコードを持っている

<Label className="test"> 
    sample text 
</Label> 

私は次のコードを持っているコンポーネントに反応します。私は2つの可能な解決策を知っています - 特異性を高めるか、CSSルールの後にimportant!を投げます。私が知りたいのはなぜこれが起こっているのですか?セマンティックUIのネイティブバージョンを使用すると、これはなぜ発生しませんか?

支援するためには、ここでChromeのインスペクタからのスクリーンショットです:

enter image description here

答えて

0

私はセマンティックUIは、ファイルクラスの組み合わせ を使用していることをあなたは事実上semantic.cssに、あなた自身の質問に答えたと信じています。 ui.labelは、定義済みの色を持っていますrgb(0,0,0、.6) - これらはReact要素のクラスですラベルを使用しています。

.ui.label.TESTより特異的であるので、(2クラス対1クラス、ここではこれについて驚くべきインフォグラフィックである:http://www.standardista.com/css3/css-specificity/)、第1のクラスの色パラメータは、第二の色パラメータを切り札。

私はSemantic UIでこれを試しましたが、Reactなしで同じ結果が発生しました。

.test { 
    color: red; 
} 

<div class="ui label test">not a color red</div> 
+0

私はもう1秒かかりましたが、今すぐ取得します。反応ラッパーを使用すると、「ui」クラスと「label」クラスは特定のルールのために持ち込まれません。デフォルトの優先順位です。私がリアクションラッパーを使用しない場合、私は自分のクラスを "ui"クラスと "test"クラスに追加しています。それがレンダリングされます。 – mustang

関連する問題