@useの概要

@useの基本的な使い方

Sass(_code.scss)
1
code {
2
padding: .25em;
3
line-height: 0;
4
}
Sass(style.scss)
1
@use "code";
CSS
1
code {
2
padding: .25em;
3
line-height: 0;
4
}

変数やミックスインなどのインポート

Sass(_variables.scss)
1
$color-main: blue;
Sass(style.scss)
1
@use "variables";
2
3
body {
4
background: $color-main;
5
}
Sass(style.scss)
1
@use "variables";
2
3
body {
4
background: variables.$color-main;
5
}
CSS
1
body {
2
background: blue;
3
}

名前空間の変更(エイリアス)

Sass(style.scss)
1
@use "variables" as v;
2
3
body {
4
background: v.$color-main;
5
}

名前空間無しで使う

Sass(style.scss)
1
@use "variables" as *;
2
3
body {
4
background: $color-main;
5
}

プライベートメンバー

Sass(_variables.scss)
1
$color-main: blue;
2
$-color-sub: green;
Sass(style.scss)
1
@use "variables" as v;
2
3
body {
4
background: v.$color-main;
5
color: v.$-color-sub;
6
}

インデックスファイル

Sass(foundation/_index.scss)
1
@use "base";
2
@use "normalize";
Sass(style.scss)
1
@use "foundation";

CSSファイルのインポート

CSS(color.css)
1
.red {
2
color: red;
3
}
Sass(style.scss)
1
@use "color";

@useの注意点

Sass(style.scss)
1
@use "default", "module", "btn"; // 複数指定はできない
2
@use url(global); // urlを使った指定もできない
3
4
.section {
5
@use "style"; // ルールセット内では使えない
6
}

@forwardの概要

@forwardの使い方

Sass(_list.scss)
1
@mixin list-reset {
2
margin: 0;
3
padding: 0;
4
list-style: none;
5
}
Sass(_variables.scss)
1
$color-main: blue;
2
$color-sub: green;
Sass(_global.scss)
1
@forward "variables";
2
@forward "list";
Sass(style.scss)
1
@use "global" as g;
2
3
li {
4
@include g.list-reset;
5
color: g.$color-main;
6
}
CSS
1
li {
2
margin: 0;
3
padding: 0;
4
list-style: none;
5
color: blue;
6
}

@forwardの注意点

Sass(style.scss)
1
@forward "global";
2
3
li {
4
color: global.$color-main;
5
}

プレフィックス(接頭辞)の追加

Sass(_list.scss)
1
$color: pink;
2
3
@mixin reset {
4
margin: 0;
5
padding: 0;
6
list-style: none;
7
}
Sass(_global.scss)
1
@forward "list" as list-*;
Sass(style.scss)
1
@use "global" as g;
2
3
li {
4
@include g.list-reset;
5
color: g.$list-color;
6
}
CSS
1
li {
2
margin: 0;
3
padding: 0;
4
list-style: none;
5
color: pink;
6
}

メンバーの公開・非公開の制御

Sass(_variables.scss)
1
$color-main: blue;
2
$color-sub: green;
3
$color-error: red;
Sass(_global.scss)
1
@forward "variables" hide $color-error;
Sass(_global.scss)
1
@forward "variables" show $color-error;
Sass(_global.scss)
1
@forward "variables" show $color-main, $color-sub;

サンプルコード一覧へ

Amazonで購入する