2017-03-28 3 views
0

ReactJSを使ってSPAをビルドしていますが、スタイリングに関して3つの異なるページがあります(私は将来さらにページを追加します)ので、各ファイルに独自のCSSファイルがあります。このReactJSいくつかのCSSファイル

*index.jsx 
import index form './index.css'* 

*page2.jsx 
import page3 form './index.css'* 

*page3.jsx 
import page3 form './index.css'* 

ようなので、私は(インデックス)ページに移動したときに、ブラウザで開いているサイト、それは大丈夫だが、私は、次のページ(PAGE2)に行くとき、再度クリックすると(インデックス)に行く 2つのCSSファイルに同じ名前のクラスがいくつかあり、読み込まれた2番目のCSSファイルがあるためページスタイルが変更されています(page2.css)(index.css)をオーバーライドしました。

申し訳ありませんが、質問があまり明確でない場合は、

ありがとう!

+0

あなたはCSSモジュールを使うことができますhttps://github.com/css-modules/css-modules –

+0

私はそれを見ましたが、スタイルを動的に適用しなければならないときは、CSSモジュールなしで方法を見つけようとしています お時間をありがとう! –

答えて

0

異なるコンテキストを区別する方法を見つける必要があります。コードを見ることなく言うのは難しいですが、各ページにIDを適用できる親要素がある場合は、CSSセレクタにこれを含めて、それぞれの場合に実際にスタイルを設定する要素をターゲットにすることができます。

div#inIndex .myStyle { 
    /* styles */ 
} 

div#inPage2 .myStyle { 
    /* styles */ 
} 

div#inPage3 .myStyle { 
    /* styles */ 
} 

これは機能しますが、別のクラス名を使用するだけでは不思議なのですか?

+0

まずはお返事ありがとうございます。 同じ名前のスタイルを残すのは悪いことでしたが、今は変更するのが遅れます。 私はあなたのコメントを非常にうまく理解できません。各コンポーネントは別々のファイルになっているので、各コンポーネントに親divがあります。 return(

childs (other components)
);その場合は 解決策を適用するにはどうすればいいですか? –

+0

cssファイルにアクセスできないのでクラス名を編集するのは遅すぎますか?そうであれば、私はあなたがこれをどう回避できるかは実際には分かりません。私が考えることができる唯一の解決策は、何らかの種類のユニークなセレクタを追加するためにCSSファイルを編集することです。 – Drum

+0

いいえいいえ私はCSSファイルにアクセスできますが、親ID = 'index'などの場合にのみスタイルを適用するために、できるだけ早く行う必要があるため、検索とeaiserソリューションを試しています。 –

関連する問題