Sass/SCSS入門講座 8章 ミックススインと継承を理解する

このチャプターでは、Sassで使用されるミックスインと継承について解説します。

「CSSを効率的に書く!Sassの入門講座」の第8章です。この講座については以下から確認できます。

目次

受講者数No.1!初心者からプロへ導く信頼のスクール

    短期間で習得可能!未経験から実践力を磨く充実のプログラム

    今なら無料相談でAmazonギフトカードがもらえる!

    ミックスインの基本 – @mixin

    ミックスインとは、Sassで複数のセレクタに対して同じスタイルを適用するための仕組みです。

    @mixinを使用することで、複数のスタイルをまとめることができます。@mixinを使用すると、定義したスタイルを呼び出すことができます。

    使用方法は、@mixinを記述した後に、作成したいスタイルを記述します。

    @mixin スタイル名(引数) {
      スタイル定義
    }

    また、引数が必要な場合には引数を設定することもできます。

    @mixin スタイル名($引数) {
      スタイル定義
    }

    次に、@includeを使用して、そのスタイルを適用するセレクタを指定して呼び出します。

    .クラス名 {
      @include スタイル名;
    }

    以下は、@mixinの定義と呼び出しをしているサンプルです。

    @mixin font-size {
      font-size: 16px;
    }
    
    .class1 {
      @include font-size;
    }

    上記のサンプルでは、@mixinでfont-sizeを定義し、.class1で@includeを使用して呼び出しています。

    継承の基本 – @extend

    継承とは、Sassで既存のセレクタのスタイルを拡張するための仕組みです。

    @extendを使用することで、既存のクラスのスタイルを継承することができます。
    @extendを使用することで、既存のクラスのスタイルを継承し、新しいクラスを作成することができます。

    //使用方法
    .既存クラス {
      スタイル定義
    }
    
    .新しいクラス {
      @extend .既存クラス;
    }

    以下は、継承を行う例です。

    .button {
      font-size: 16px;
      padding: 8px;
      border-radius: 4px;
    }
    
    .primary-button {
      @extend .button;
      background-color: blue;
      color: white;
    }

    上記のサンプルでは、.primary-buttonセレクターは.buttonセレクターを継承しています。

     そのため、.primary-buttonセレクターは.buttonセレクターのfont-sizepaddingborder-radiusのスタイルを引き継ぎます。また、.primary-buttonセレクターにはbackground-colorcolorのスタイルも追加で定義されています。

     継承を行うことで、同じようなスタイルを持つセレクターのスタイルを1か所で定義することができ、スタイルの記述量を減らすことができます。

    解いてみよう!小テスト:本章の復習

    ミックススインと継承について復習しましょう。

    問1. 「@mixin」を使った処理で、「マウスポインターが当たると背景色が青色に変わる」という処理を行いたい場合、どのように書くことができるでしょうか?

    1. @mixin blue-bg-hover { &:hover { background-color: blue;} }
    2. @mixin:hover { background-color: blue; }
    3. @mixin { background-color: blue; }:hover
    解答

    答え:① @mixin blue-bg-hover { &:hover { background-color: blue;} }

    例:.fooと.barの要素に対して、マウスポインターが当たると背景色が青色に変わるようになります。

    @mixin blue-bg-hover {
    	&:hover {
    		background-color: blue;	
    	}
    }
    
    .foo {
    @include blue-bg-hover;
    }
    
    .bar {
    @include blue-bg-hover;
    }

    問2. 「@extend」を使った処理で、「セレクタfooを拡張して、barを継承する」という処理を行いたい場合、どのように書くことができるでしょうか?

    1. @extend .foo; .bar { @extend .foo; }
    2. .bar { @extend .foo; }
    3. @extend .foo { .bar { @extend .foo; } }
    解答

    答え:② .bar { @extend .foo; }

    例:.barは.fooのスタイルを継承しているため、colorプロパティはred、font-sizeプロパティは16pxが適用されると同時に、追加でfont-weightプロパティがboldに設定されます。

    .foo {
      color: red;
      font-size: 16px;
    }
    
    .bar {
      @extend .foo;
      font-weight: bold;
    }

    これらを実際に実装したサンプルはダウンロード教材のchapter08フォルダで確認できます。

    リスキリングでキャリアアップしてみませんか?

    リスキリング(学び直し)は、経済産業省が推奨しており、

    今だけ、最大70%のキャッシュバックを受けることができます。

    リスキリング 給付金が出るスクール紹介

    最大70%の給付金が出るおすすめのプログラミングスクール!

    国策で予算が決められているため申し込みが多い場合は早期に終了する可能性があります!

    興味のある方はすぐに確認しましょう。

    チャプター8 「ミックススインと継承を理解する」のまとめ

    チャプター8では、Sassで使用される2つの重要な機能、ミックスイン継承についてについて学びました。

    この章のまとめ
    1. @mixinを使用することで、スタイルをグループ化し、複数のセレクターで使用できるようにすることができます。
    2. @mixinを定義するには、@mixinを使用し、定義したいスタイルを指定します。
      その後、@includeを使用して、@mixinを実際に適用することができます。
    3. @extendを使用することで、セレクターに既存のスタイルを継承させることができます。
    4. @extendを使用するには、@extendを使用し、継承させたいスタイルを指定します。同じスタイルを複数のセレクターで使用することができるため、スタイルシートをよりスッキリさせることができます。

    これらの技術を理解することで、Sassをよりスマートに使用することができるようになります。

    さいごに

     大変おつかれさまでした!これでSassのコースは終了になります。いかがだったでしょうか?

     一度に全てを覚える必要はないので、必要に応じて必要な情報を確認しながら開発を進めることで自然と技術が身につきます。

     もし難しいところがあったりだとか、理解ができないといった場合には繰り返し確認して身につけて見て下さい。

    チャプター

    よかったらシェアしてね!
    • URLをコピーしました!
    • URLをコピーしました!
    目次