レイヤーへのスタイル追加
@layerブロックとインポートしたスタイルシートを使って、CSSルールを特定のレイヤーに割り当てます。
「レイヤーへのスタイル追加」はCoddyKit上の無料CSS Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCSS Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 CSS Academyコースには全4レッスンが含まれています。
レイヤーにスタイルを追加する2つの方法
レイヤーには、インライン(@layerブロック内)または@importを使ってスタイルを追加できます(インポートしたスタイルシートをレイヤーに割り当てます)。
インラインの@layerブロック
レイヤー名を指定した@layerブロック内にルールを記述します。
<button class="button">Layered button</button>既存のレイヤーへの追加
複数の独立した@layerブロックから同じレイヤーに追加できます。すべての宣言がそのレイヤーに統合されます。
<button class="button">Button</button>
<input class="input" placeholder="Input" />匿名レイヤー
名前のない@layerブロックは、匿名レイヤーを作成します。匿名レイヤーに後から追加することはできず、記述された位置に存在します。
<p style="margin: 24px; border: 1px dashed #999;">Normal paragraph (default margin)</p>
<p class="reset" style="border: 1px dashed #999;">Reset paragraph (anonymous layer sets margin: 0)</p>@layerを使った@import
インポートしたスタイルシート全体をレイヤーに割り当てます。
<p>This scene assigns whole imported stylesheets to layers — see the CSS panel.</p>複数ファイルへのコンポーネントCSSの分割
モジュール化されたプロジェクトでは、各コンポーネントファイルからcomponentsレイヤーに追加します。
<button class="button">Button</button>
<div class="card">Card</div>レイヤーとPostCSS/Sass
SassとPostCSSはいずれも@layerと組み合わせて使用できます。メインのエントリーファイルでレイヤーを定義し、@useまたは@importで、これらのレイヤーに追加するコンポーネントのパーシャルを読み込めます。
インラインスタイルとレイヤー
インラインスタイル(style=""属性)はレイヤーの影響を受けず、常にどのレイヤーのスタイルよりも優先されます。レイヤーに配置できるのは、スタイルシートのルール(<style>ブロックを含む)のみです。
DevToolsでのレイヤーのデバッグ
Chrome DevToolsは、Stylesパネルにレイヤーの境界を表示します。優先度の高いレイヤーによって上書きされた、優先度の低いレイヤーのルールには取り消し線が付き、優先されたレイヤーが示されます。
後方互換性
@layerをサポートしていないブラウザーでは、すべての@layerブロックが標準のCSSブロックとして扱われ、すべてが描画されます。カスケードの動作は異なりますが、スタイルが失われることはありません。安全性を高めるには、機能に依存するコードを@supports (@layer selector)で囲みます。
既存のCSSをレイヤーへ移行する
移行の手順は次のとおりです。
- メインのCSSファイルの先頭でレイヤーを宣言します
- 既存の各CSSセクションを対応するレイヤーブロックで囲みます
- テストを行い、発生した優先順位の問題を修正します
- 時間をかけて、不要な高詳細度セレクターを削除します
理解度チェック
複数の独立した@layerブロックにあるスタイルを、同じ名前付きレイヤーに追加するにはどうしますか。
まとめ
名前付きの@layer name { }ブロックを使ってレイヤーにスタイルを追加します。これらのブロックは複数のファイルに分割でき、すべて統合されます。インポートしたスタイルシートをレイヤーに割り当てるには@import layer()を使用します。匿名レイヤーを後から開き直すことはできません。インラインスタイルは常に、レイヤーで宣言されたスタイルより優先されます。
よくある質問
「レイヤーへのスタイル追加」レッスンは無料ですか?
はい。「レイヤーへのスタイル追加」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、CSS Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 CSS Academyコースには全4レッスンが含まれています。
「レイヤーへのスタイル追加」で何を学びますか?
@layerブロックとインポートしたスタイルシートを使って、CSSルールを特定のレイヤーに割り当てます。 ブラウザで直接実行するハンズオンコードでCSS Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
CSS Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCSS Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「レイヤーへのスタイル追加」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCSS Academyレッスンでコードを書いて実行できますか?
はい。すべてのCSS Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。