0Pricing
CSS Academy · レッスン

レイヤーへのスタイル追加

@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をレイヤーへ移行する

移行の手順は次のとおりです。

  1. メインのCSSファイルの先頭でレイヤーを宣言します
  2. 既存の各CSSセクションを対応するレイヤーブロックで囲みます
  3. テストを行い、発生した優先順位の問題を修正します
  4. 時間をかけて、不要な高詳細度セレクターを削除します

理解度チェック

複数の独立した@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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. @layerの宣言と順序
  2. レイヤーへのスタイル追加
  3. レイヤーの優先順位と!importantの相互作用
  4. サードパーティーコードのレイヤー
← CSS Academyに戻る