ミルラク

Sass(SCSS)で@mixinと@includeを使用してスタイルを再利用する方法

更新日: 2022-06-07

当サイトはアフィリエイト広告を利用しています。

Sassを書籍で学びたい方や初学者の方におすすめな書籍です。
Sassの概要や文法はもちろん、導入方法やフレームワーク、筆者が実際に仕事の現場で使用している実践的なテクニックまで幅広く紹介されています。
実際、初学時にかなりお世話になった書籍です。一緒に勉強しませんか?

実行環境

OSmacOS Catalina 10.15.7
Sass1.34.0

実行環境がない方は、こちらの記事を参考にしてください。

Sass(SCSS)で@mixinと@includeを使用してスタイルを再利用する方法

今回は、Sass(SCSS)で@mixinと@includeを使用してスタイルを再利用する方法をご紹介します。

Sass(SCSS)で@mixinと@includeを使用してスタイルを再利用する方法は以下のとおりです。

  1. @mixinで再利用するスタイルを指定する
  2. @includeでスタイルをインクルードする
  3. 内容を確認する

@mixinで再利用するスタイルを指定する

はじめに、@mixinで再利用するスタイルを指定します。

@mixin reset-box {
  border: 0;
  margin: 0;
  padding: 0;
}

@includeでスタイルをインクルードする

次に、@includeで@mixinで指定したスタイルをインクルードします。

@mixin reset-box {
  border: 0;
  margin: 0;
  padding: 0;
}

.container {
  @include reset-box;
  background-color: yellow;
}

内容を確認する

最後に、コンパイルして作成されたCSSファイルの内容を確認します。

.container {
  border: 0;
  margin: 0;
  padding: 0;
  background-color: yellow;
}

引数

@mixinに引数を持つことが可能です。
以下の例では、引数として受け取った値をスタイル内で使用しています。
引数を保持している再利用スタイルを引数を指定せずに使用した場合、コンパイルエラーとなります。

// 引数に$colorと$borderを保持
// $borderのデフォルト値として1pxを指定
@mixin text-border($color, $border: 1px) {
  border: solid $border $color;
  color: $color;
  margin: 0;
  padding: 0;
}

.error {
  @include text-border(red);
}

.info {
  @include text-border(blue, 2px);
}

// コンパイルエラー
// .warning {
//   @include text-border();
// }
.error {
  border: solid 1px red;
  color: red;
  margin: 0;
  padding: 0;
}

.info {
  border: solid 2px blue;
  color: blue;
  margin: 0;
  padding: 0;
}

変数については、以下の記事を参考にしてください。

[post_link_internal 1323]

お疲れさまでした

Sass(SCSS)で@mixinと@includeを使用してスタイルを再利用する方法をご紹介しました。
少しでも参考になれば幸いです。