もくじ
ReactのCSSの設定場所
ReactではCSSをsrc/App.css
に初期設定を置いています。(他に個別に設定したりする場合は別ファイルを用意すると思います。)
ここにCSSを追記すれば初期設定が変更できます。
body { background-color: #FAFAFA; }
上記を追記するだけで、初期値が変更されます。この場合だと、これを適用したアプリの背景色は、特に指定しない限りすべてのページで#FAFAFA
の色になります。
Reactstrap
Reactstrapを採用している場合、少し書き換える必要があるので注意しましょう。
Reactstrap導入はこちらをご覧ください。
Reactstrapの初期値
Reactstrap
にはInput
やButton
など、さまざまなコンポーネントが用意されています。たとえばRow
には以下のような初期値が設定されています。
{ display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; }
これはReact上では記述を見つけられなかったのですが、調べるとBootstrapCDNによりコンテンツの配布をされているようです。なので、サーバー上に初期設定があるということですね。
初期値の上書き
前述のとおり、サーバーに初期設定があるので書き換えることはできません。その代わり、オーバーライド、上書きをすることで初期設定を変更することができます。
Label
を例に見ていきましょう。
{ display: inline-block; margin-bottom: .5rem; }
このmargin-bottom: .5rem;
をどのページでも初期値で0
を指定したいと思います。またmargin-left
も新たに指定してみましょう。
ファイルを開いてlabelの設定を上書きします。
label { margin-bottom: 0; margin-left: 10px; }
変更を反映
さて、ブラウザで確認してみましょう。
もしかしたら変更が利いていないかもしれません。それはスタイルを読み込む順番が影響しています。
import 'bootstrap/dist/css/bootstrap.min.css';
そもそも、上記をインポートしてReactstrapを導入しました。この記述箇所はきっとimport
の最後に羅列しているかもしれませんが、import './index.css';
よりも前に記述する必要があります。
bootstrap
のあとにindex.css
を読み込ませることによって上書きが叶います。
ブラウザで確認
記述の順序を変更すれば、ようやく初期設定が反映されてるでしょう。これにより他でLabel
を使用しても上書きした設定が反映されます。
Reactstrapの初期設定を変更したいときは、BootstrapCDNの読み込む順番にも気を付けて確認してみるといいと思います。
参考URL
【CDNとは?】初心者にもわかりやすく解説 | WafCharm(ワフチャーム)|AIによるAWS WAFのルール自動運用サービス