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エラーの問題を解決する

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

推薦する

CSSを使用してHTMLテキストボックス内のテキストの垂直方向の中央を制御する

Text の height 属性が定義されている場合、Text に入力されたテキストは垂直方向に中央...

nginx で Vue プロジェクトをデプロイする方法

今日は nginx サーバーを使用するのですが、vue プロジェクトをサーバーにデプロイする必要もあ...

MySQL サーバー ログイン エラー ERROR 1820 (HY000) の解決方法

障害サイト: MySQL サーバーにログインし、どのコマンドを実行してもこのエラーが発生します my...

MySQL 5.7.17 winx64 無料インストールバージョン設定方法グラフィックチュートリアル

mysql5.7.17無料インストールバージョンのインストールに関する最近の経験1.ダウンロードして...

favico.ico---ウェブサイトicoアイコン設定手順

1. 正常に生成されたアイコン ファイルをダウンロードし、名前を favico.ico に変更して、...

Dockerコンテナの個別展開のためのLNMPの実装

1. 環境整備各コンテナの IP アドレス: nginx: 172.16.10.10マイSQL: 1...

CentOS8 でローカル yum ソースを構成するための詳細なチュートリアル

centos8 ディストリビューションは、BaseOS および AppStream リポジトリを通じ...

HTML テーブルタグチュートリアル (12): 境界線スタイル属性 FRAME

FRAME プロパティを使用して、表の境界線のスタイル タイプを制御します。基本的な構文<T...

Windows 64 ビットに MySQL を再インストールするチュートリアル (Zip バージョン、解凍バージョンの MySQL インストール)

MySQLをアンインストールする1. コントロールパネルで、MySQLのすべてのコンポーネントをア...

Vue2.0でデータの双方向バインディング機能をjsを使って実装する

Object.definePropertyの理解文法:オブジェクト.defineProperty(o...

JavaScript で 2 次元配列を作成するためのヒント

Js での 2 次元配列の作成:まず、JavaScript は 1 次元配列のみをサポートしています...

HTML 基本コントロール入門_PowerNode Java アカデミー

<input> タグ<input> タグはユーザー情報を収集するために使用さ...

CSS 擬似要素::マーカーの詳細な説明

この記事では、CSS ::markerの興味深い疑似要素を紹介します。これを使用すると、テキスト番号...

Vue シンプル登録ページ + 確認コード送信機能の実装例

目次1. エフェクト表示2. 検証コードとメールプッシュ管理の強化(後述のブログを参照) 3. 一般...

JavaScriptにおけるこれの深い理解

Jsでのこれの深い理解JavaScriptスコープはstatic scopeスコープですが、 Jsの...