Closed TwoSquirrels closed 2 years ago
pages/global.scss
に :root
をおけばどこからでも var(変数名)
で読み込めるからそっちのほうがシンプルかもです
例:
pages/global.scss
:root {
--c-black: #000;
}
〇〇.module.scss
.title {
color: var(--c-black);
}
どっちがいいんだろ CSS 変数と Sass 変数の使い分けの基準よくわかってない()
なんとなくだけど、特別な理由がない限りは Sass 変数を使ったほうがいいと思ってる。
デメリットがあるらしい
いろいろ調べてみた感じだとcssのほうがいいかなと思いますた
上流で適用されたスタイルを引き継ぎ、競合する場合は上書きしながら、段階的に設定していくことを意味する
という意味らしい) ため現在の値を設定または上書きできる。$color
must be a color」というエラーが発生するらしいなるほど 静的であることがメリットとも取れるのか… たしかに特に理由がない限り、プリプロセッサ変数を使って、使いたい場所でcssカスタムプロパティを使うのが一番良さそうですね
特に Next.js の Module CSS 機能を使って CSS をモジュール毎に分割しているので、 それに合わせて Sass 変数を使ったほうがいいかなと思った。 CSS 変数は子要素に勝手に伝搬しちゃうから。
ここの色も #7cc28e
ではなく #b9d08b
にしたいから、
Sass から引っ張ってくるようにするといいかも
改善対象の事柄
期待する挙動
補足情報
/components/colors.scss
にまとめる@use "相対パス" as *
のようにする)/next-seo.config.js
からも読み取る