3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have 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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?