ミックスインとインクルード
@mixinで再利用可能なスタイルブロックを作成し、@includeで任意の場所に取り込みます。
「ミックスインとインクルード」はCoddyKit上の無料CSS Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCSS Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 CSS Academyコースには全4レッスンが含まれています。
ミックスインとは
Sass のミックスインは、再利用可能な CSS 宣言のブロックです。通常のクラスとは異なり、パラメーターを受け取れるため、コピー&ペーストよりも柔軟に利用できます。@mixin で定義し、@include で使用します。
基本的なミックスイン
パラメーターのないミックスインは、単なる再利用可能なブロックです:
<div class="hero">Centered hero content</div>
引数付きミックスイン
ミックスインに値を渡して、出力をカスタマイズします:
<button class="btn-primary">Primary</button>
<button class="btn-danger">Danger</button>
デフォルト引数
ミックスインの引数にデフォルト値を設定すると、引数を省略できるようになります:
<div class="card">Card with default shadow</div>
<div class="modal">Modal with custom shadow</div>
キーワード引数
明確さを高めるため、名前を指定してミックスインの引数を渡します:
<div class="tooltip">Tooltip</div>
@content — ブロック付きミックスイン
ミックスインは @content を使用してコンテンツのブロックを受け取れます。渡されたブロックは、@content が現れる位置に挿入されます:
<a href="#" class="link">Hover or focus this link</a>
<a href="#" class="link-demo">Same link, hover state shown statically</a>
レスポンシブミックスイン
メディアクエリでよく使われるミックスインです:
<div class="sidebar">Sidebar (280px wide on desktop ≥ 1024px)</div>
タイポグラフィミックスイン
一貫したタイプスケールを実現するテキストスタイル用のミックスインです:
<h2 class="heading">Heading text style</h2>
<p class="body">Body text style</p>
ミックスインと関数の違い
ミックスインは CSS 宣言を出力し、関数は値を返します。複数の CSS ルールを出力したい場合はミックスインを、計算された単一の値が必要な場合は関数を使用してください。
ミックスインの使いすぎを避ける
ミックスインが多すぎると、デバッグが難しい抽象的な間接参照が生じます。パターンが 3 回以上再利用される場合にのみミックスインを作成してください。一度しか使わないスタイルは、CSS に直接記述してください。
確認問題
Sass のミックスイン定義内にある @content の役割は何ですか?
まとめ
@mixin でミックスインを定義し、@include で使用します。ミックスインはパラメーターを受け取り、デフォルト値を設定することもできます。@content を使うと、呼び出し元から CSS ブロックをミックスインに挿入できるため、メディアクエリヘルパーのようなラッパーパターンを実現できます。抽象化のオーバーヘッドを避けるため、複数回再利用されるパターンにのみミックスインを作成してください。
よくある質問
「ミックスインとインクルード」レッスンは無料ですか?
はい。「ミックスインとインクルード」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、CSS Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 CSS Academyコースには全4レッスンが含まれています。
「ミックスインとインクルード」で何を学びますか?
@mixinで再利用可能なスタイルブロックを作成し、@includeで任意の場所に取り込みます。 ブラウザで直接実行するハンズオンコードでCSS Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
CSS Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCSS Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「ミックスインとインクルード」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCSS Academyレッスンでコードを書いて実行できますか?
はい。すべてのCSS Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 変数、ネスト、パーシャル
- ミックスインとインクルード
- Extendとプレースホルダーセレクター
- Sassの関数と制御フロー