SCSSのmixinを極めたい

最近、ホームページ制作にはまっているわけですが、キャリアは長いです。

自分で言うのも何ですが、中級者以上のレベルだと思っています(笑)。

しかし、ちょっと物足りなくなってきて、「そろそろSCSSを勉強しようか」と。

そして、サクッと勉強を始めました。

今日は、@mixinについてです。

サクッと行ってみましょう~。

HTML

まずはHTMLを。

<div class="Visual"></div><!-- /.Visual -->

何を書いているのかというと、ボックスを作って、「Visual」というクラス名を付けたって話です。

空要素でSEO上問題ありかと思いますが、制作現場ではわりと使われている?

結構、毎日大量にたくさんのソースコードを見ますが、こういう場合もアリでして。

それに、ぼくは今、色々と試せるサイトを1つ作って、ローカルで試しているのでSEOはどうでも良い(笑)。

SCSS

SCSSは以下になります。

@mixin bg($pad: 450px, $haikei) {
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  padding-top: $pad;
  background-image: url($haikei);
}

上のソースコードのうち、以下の3つはSCSSと関係ありません。

CSSで書くのと同じです。

  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;

重要なのは以下。SCSSの書き方です。

@mixin bg($pad: 450px, $haikei) {
  padding-top: $pad;
  background-image: url($haikei);
}

@mixin bg。bgは任意です。分かりやすい物でOK。

$padも任意。初期値は450pxです。

そして、その値を、「padding-top: $pad」で読み込み。

なお、背景画像にする際、経験上、padding-topを指定しないと表示されません。

なので、padding-topを使っています。

$haikeiについて、こちらも名前は任意。分かりやすい名前でよろしいかと。

あとは、background-image: url($haikei);で先ほど書いた$haikeiを読み込み。

流れとしてはこんな感じですね。

今のところ、$マークが付いたのは2つ。

この2つに値を読み込ませないと動作しません。

なので、こんな感じで書きます。

.Visual {
  @include bg(300px, "../images/sora.jpg");
}

$padに「300px」、$haikeiに「"../images/sora.jpg"」を読み込んでねーって話です。

$haikeiは、背景画像のパスを書かないとダメなので要注意。

こんな感じで

はてなブログCSSを書くときは、SCSSは使えません。

よって、今日書いたSCSSは意味ないと思っています(笑)。

ただ、CSSを使える人は、SCSSを使った方が良いと思います。

楽ですよ。最初は言い分からないですが(笑)。

@マークとか$マークとか出てくるんで、「うわー」ってなりますが。

もし、SCSSに興味がある方へ。

ぼくはvscodeを使っていますが、SCSSを使えます。プラグインが必要ですが。

興味のある人は、「vscode SCSS」で調べてみてください。

さいごに

mixinは慣れるとかなり便利になる?

今のところ、実感はありませんが、もう少し掘り下げて勉強したいと思います。