SASSで変数のデフォルト値を使用する方法

SASSで変数のデフォルト値を使用する方法

SASS で定義された変数では、後で設定された値によって古い値が上書きされます。

$色: 赤;
$色: 青;

.btn{
    色: $color;
}

コンパイル後:

.btn{
  色: 青; }

SASS ファイルを提供する UI ライブラリを作成する場合、ユーザーが使用時にカスタマイズできるパラメーターをいくつか提供できます。 SASS コンポーネント内では、ユーザーが設定したこれらの値を適用する必要があります。ただし、ユーザーが変数の値をカスタマイズしない場合は、これらの変数には独自のデフォルト値が必要です。

これは、上記のカバレッジ メカニズムを使用して実現することはできません。 UI ライブラリを @import する前または後に設定しても、このインポートされたファイルの値に影響を与えることはできません。インポート前に値を設定すると、UI ライブラリ内の変数が上書きされ、機能しなくなります。インポート後に設定した場合は、さらに効果がなくなります。

これは UI のスタイル ファイルであると仮定します。

_lib.scss

$色: 赤;
.btn{
    色: $color;
}

別のファイルで使用して、変数の値をカスタマイズしてみます。

ページ.scss

@import 'lib';
$色: 青;

または:

ページ.scss

$色: 青;
@import 'lib';

両方のコンパイル結果は次のとおりです。

.btn{
  色: 赤; }

!デフォルト

このような状況では、SASS は !default フラグを提供します。変数値の後にこの識別子を適用すると、変数が他の場所で定義されていない場合、または定義されていても値が null の場合、ここで設定されたデフォルト値が有効になり、それ以外の場合は他の場所で設定された値が使用されます。

上記の_lib.scssを変換します。

_lib.scss

- $color: 赤;
+ $color: 赤!デフォルト;
.btn{
    色: $color;
}

使用:

$色: 青;

@import "lib";

注意: カスタム値は @import の前に配置する必要があります。そうしないと、有効になりません。

この時点で、コンパイル結果は外部カスタム変数値が適用された、希望どおりのものになります。

.btn{
  色: 青; }

関連リソース

  • SASS ドキュメント - デフォルト値
  • Sass !default の使用例

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  docker pull imageエラーの問題を解決する

>>:  ウェブサイトに最も必要なのは、ターゲットユーザーグループのエクスペリエンスを向上させることです。

推薦する

Vueはパーセンテージバー効果を実現します

この記事では、パーセンテージバーを実現するためのVueの具体的なコードを参考までに共有します。具体的...

Mysqlはブール型の演算を設定します

Mysqlはブール型を設定します1. Tinyintタイプテストテーブルを作成し、blフィールドをブ...

Linux の vsftpd サービス構成の簡単な分析 (匿名、ユーザー、仮想ユーザー)

vsftpd の概要vsftpd は「very secure FTP daemon」の略称で、セキ...

Tomcat サーバー入門の超詳細なチュートリアル

目次1. Tomcat の概念–1、サーバー–2、ウェブサーバー–3、Tomcatサーバー次にTom...

オンラインMySQL自動増分IDが使い果たされた場合の対処方法

目次テーブル定義の自動増分 ID InnoDBシステムはrow_idを自動的に増加させるシドInno...

JavaScriptにおけるPromiseの使い方と注意点について(推奨)

1. 約束の説明Promise は、非同期操作の最終状態 (失敗または正常完了) とその結果の値を...

Taobao の商品画像切り替え効果を実現する JavaScript

JavaScriptの服装アルバム切り替え効果(Taobao商品画像切り替えに似ています)、参考ま...

CSS の inline-block の最小幅値の詳細な説明

序文最近、私は夜に時間を取って「CSS World」という本を読んでいます。この本は非常に興味深く、...

フラットスタイルを使用してウェブサイトをデザインする方法

フラットなウェブサイト構造の本質はシンプルさです。コンテンツの重要なポイントを強調し、ページの装飾効...

バインドを使用してDNSサーバーを設定する方法

DNS(ドメインネームサーバー)は、ドメイン名とそれに対応する IP アドレスを変換するサーバーです...

VMware Workstation 14 Pro に Win10 システムをインストールする

この記事では、VMware Workstation 14 Proにシステムをインストールする方法を紹...

JavaScript で大きなファイルの並列ダウンロードを実装する方法

目次1. HTTP範囲リクエスト1.1 範囲構文2. 大きなファイルをダウンロードする方法2.1 補...

HTML/CSS での空白処理とページ内の空白を保持する方法

HTML の空白ルールHTML では、コンテンツ内の複数のスペースは通常 1 つとみなされ、連続する...

Vueパンくずコンポーネントのカプセル化方法

Vueはパンくずコンポーネントをカプセル化して参照します。具体的な内容は次のとおりです。効果を達成す...