LoginSignup
3
0

More than 1 year has passed since last update.

Bootstrapのnode_modulesファイル内のcssをoverride出来なかった話

Last updated at Posted at 2021-11-11

表題の通り、Bootstrapでcssをoverrideしようとしたところ適用されず、沼にハマりかけたので記録を残します。

実行環境

  • Windows10 20H2
  • Vagrant 2.2.18
  • Ubuntu 20.04.3 LTS
  • Ruby on Rails 6.0.4.1
  • jQuery 3.5.1
  • bootstrap 4.5.0

問題

1. HTMLファイル内にalertテスト用のdivを作成

<div class="alert alert-success">alertクラス</div>

2. オーバーライド用のscssファイルを作成。
[app/javascript/stylesheets/bootstrap_overrides.scss]

.alert-success {
  background-color: pink;
}

3. scssファイルを読み込んでるマニフェストファイルにscssファイルのパスを通す。
[app/javascript/packs/application.js]

import '../stylesheets/bootstrap_overrides.scss';

これでbootstrap_overrides.scssの内容が適用されて、alert-successクラスがoverrideされるはずでしたが、反映されませんでした。
error.PNG

解決方法

マニフェストファイルに記載したscssファイルの拡張子を消す。

[app/javascript/packs/application.js]

import '../stylesheets/bootstrap_overrides';

ページをリロードするとalertクラスがoverrideされました。
error-result.PNG

余談

一度オーバーライドした後に"bootstrap_overrides.scss"の内容を変更し、
application.jsで.scssと拡張子を書き加えたところ今度はしっかりオーバーライドしてくれました。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0