Dart Sass でよく利用するビルトインモジュール
Dart Sass へ移行すると除算処理とSass関数は、ビルトインモジュールを利用することになります。
というわけで、よく利用していたSass関数をビルトインモジュールへ変更する方法をまとめてみました。
執筆時 [email protected] を利用してコンパイルしましたが、Sass関数は利用できていました。 今後利用できなくなると思われます。
除算する
今まで通りの記述だとコンパイル時に以下のような警告メッセージが表示されます。
DEPRECATION WARNING: Using / for division is deprecated and will be removed in Dart Sass 2.0.0.
詳細は以下で確認できます。
Dart Sass で除算する場合はビルトインモジュールの sass:math
を利用します。
.hoge {
width: (100px / 2);
}
+ @use "sass:math";
.hoge {
- width: (100px / 2);
+ width: math.div(100px / 2);
}
色を利用する
Dart Sass で色を利用する場合はビルトインモジュールの sass:color
を利用します。
rgba()を16進数の値で指定する
第2引数 $alpha の指定方法がSass関数と異なるので注意が必要です。
.hoge {
background-color: rgba(#000, 0.7);
}
+ @use "sass:color";
.hoge {
- background-color: rgba(#000, 0.7);
+ background-color: color.adjust(#000, $alpha: -0.3);
}
色を明るくする
Sass関数とは値の算出方法が違うようで、有彩色を指定した場合、以下の変更方法ではSass関数のカラーコードと同じになりません。
.hoge {
background-color: lighten(#000, 50%);
}
+ @use "sass:color";
.hoge {
- background-color: lighten(#000, 50%);
+ background-color: color.scale(#000, $lightness: 50%);
}
色を暗くする
Sass関数とは値の算出方法が違うようで、有彩色を指定した場合、以下の変更方法ではSass関数のカラーコードと同じになりません。
.hoge {
background-color: darken(#fff, 50%);
}
+ @use "sass:color";
.hoge {
- background-color: darken(#fff, 50%);
+ background-color: color.scale(#fff, $lightness: -50%);
}
配列を利用する
Dart Sass で配列を利用する場合はビルトインモジュールの sass:list
を利用します。
配列のインデックス番号を取得する
$z-index: obj, header, overlay;
.header {
z-index: index($z-index, header);
}
+ @use "sass:list";
.hoge {
- z-index: index($z-index, header);
+ z-index: list.index($z-index, header);
}
配列の要素を取得する
$colors: #67c1b8, #4daadf, #2ea014, #f3a600, #ed571d, #cf1a02;
.hoge {
@for $i from 1 through 6 {
&.is-level#{$i} {
background-color: nth($colors, $i);
}
}
}
+ @use "sass:list";
$colors: #67c1b8, #4daadf, #2ea014, #f3a600, #ed571d, #cf1a02;
.hoge {
@for $i from 1 through 6 {
&.is-level#{$i} {
- background-color: nth($colors, $i);
+ background-color: list.nth($colors, $i);
}
}
}
マップを利用する
Dart Sass でマップを利用する場合はビルトインモジュールの sass:map
を利用します。
$sns-colors: (
twitter : #1d9bf0,
facebook: #1877f2,
line : #06c755
);
.hoge {
&.is-twitter {
background-color: map-get($sns-colors, twitter)
}
}
+ @use "sass:map";
$sns-colors: (
twitter : #1d9bf0,
facebook: #1877f2,
line : #06c755
);
.hoge {
&.is-twitter {
- background-color: map-get($sns-colors, twitter)
+ background-color: map.get($sns-colors, twitter)
}
}
Author And Source
この問題について(Dart Sass でよく利用するビルトインモジュール), 我々は、より多くの情報をここで見つけました https://qiita.com/taqumo/items/7a1f808c112e2a38aec0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .