CSS Modulesの:globalと:localの効果
に公開(に更新)履歴 (6)
CSS Modulesで特定のクラスをインポート対象にせずクラス名をそのまま使いたい場合があります。以下のExceptionsの節で説明されている部分です:
https://github.com/css-modules/css-modules#exceptions
Example:
.localA :global .global-b .global-c :local(.localD.localE) .global-d
Exampleの通りではあるのですが、Next.jsのSCSSで使う場合について:global
と:local
の効果を確認します。
## :global
セレクタだけの場合
:global
の中のクラス名がありません。
## :global
を含むセレクタの場合
:global
以降とそのセレクタの中のクラス名がありません。
## :global(.aaa)
形式の場合
:global()
の中のクラス名がありません。
## :global
セレクタと:local
セレクタを使う場合
CSSに変換するとわかりやすいです。
ローカルとグローバルがわかるようにL
とG
コメントを追加しました。L
がついているクラス名がインポート結果に含まれています。
以上より:global
と:local
の効果は次のようにまとめられるでしょう:
:global
以降はグローバルになる(CSS Modulesの対象にならない)
:local
以降はローカルになる(CSS Modulesの対象になる)
:global()
の中はグローバルになる。以降の状態には影響しない。
:local()
の中はローカルになる。以降の状態には影響しない。