Vue が scss (mixin) をグローバルに導入

Vue が scss (mixin) をグローバルに導入

VUE を書くときは、scss を使って、使いやすいように共通スタイルをいくつか作ります。共通スタイルを書くときは、毎回 1 つのファイルをインポートする必要があります。書き始めたときは大丈夫な気がしますが、作業量が多くなると面倒になります。そこで、この記事では scss スタイルをグローバルにインポートします。

1. ミックスイン.scss

// 色定義の指定 $color-background : #FFFFFF;

背景色をrgba(0, 0, 0, 0.3);

$color-highlight-background : #333;

$color-ダイアログの背景: #666;

$color-theme : #ffcd32;

$color-theme-d : rgba(255, 205, 49, 0.5);

$colorサブテーマ: #d93f30;

カラーテキストの色はrgba(255, 255, 255, 0.3);

$color-text-l : rgba(255, 255, 255, 0.5);

$color-text-ll : rgba(255, 255, 255, 0.8);



$フォントグレー: #999;

//フォント定義仕様 $font-size-small-s : 10px;

$font-size-small : 12px;

$font-size-medium : 14px;

$font-size-medium-x : 16px;

$font-size-large: 18px;

$font-size-large-x : 22px;



フォントの太さ: 600;
本文、html{

  //背景: rgb(239, 242, 249);

}

//背景画像 100%

@mixin bkgMaxSize($url) {

 

  背景画像: url($url);

  背景繰り返し: 繰り返しなし;

  背景サイズ: 100% 100%;

}

@mixin フォント設定グループ($font-size、$font-family、$font-weight、$color、$line-height){


  フォントサイズ: $font-size;

  フォントファミリ: $font-family;

  フォントの太さ: $font-weight;

  色: $color;

  行の高さ: $line-height;

}

// 境界線の半径 @mixin borderRadius($radius) {

 

  -webkit-border-radius: $radius;

  半径: $radius;

  -ms-border-radius: $radius;

  -o-境界半径: $半径;

  境界線の半径: $radius;

}

//中央に上下左右に配置する @mixin positionCenter {

   位置: 絶対;

  上位: 50%;

  左: 50%;

  変換: translate(-50%, -50%);

}

// 上下中央に配置する @mixin ct {

  位置: 絶対;

  上位: 50%;

  変換: translateY(-50%);

}

// 左と右の中央を配置 @mixin cl {

  位置: 絶対;

  左: 50%;

  変換: translateX(-50%);

}

// フルスクリーンの配置 @mixin allcover {
 位置: 絶対;

  上: 0;

  右: 0;

}

//相対的な位置指定 @mixin my-absolute($left, $top,$z) {


  位置: 絶対;

  Zインデックス: $z;

  左マージン: $left;

  上マージン: $top;

}

//幅と高さが異なる @mixin widthHeightN($width, $height){


  幅: $width;

  高さ: $height;

}

//幅と高さは同じ @mixin widthHeightY($number){

 

  幅: $number;

  高さ: $number;

}

//フォントサイズ、色 @mixin sizeColor($size, $color){

 

  フォントサイズ: $size;

  色: $color;

}

//フレックスレイアウト @mixin center_none{

 

  ディスプレイ: フレックス;

  コンテンツの中央揃え: 中央;

  アイテムの位置を中央揃えにします。

}

@mixin センター_センター{

  ディスプレイ: フレックス;

  コンテンツの中央揃え: 中央;

  アイテムの位置を中央揃えにします。

}

@mixin flex-start_center{

  ディスプレイ: フレックス;

  コンテンツの配置: flex-start;

  アイテムの位置を中央揃えにします。

}

@mixin スペース間の中央{

  ディスプレイ: フレックス;

  コンテンツの両端揃え: スペースの間;

  アイテムの位置を中央揃えにします。

}

@mixin スペースアラウンド_センター{

 

  ディスプレイ: フレックス;

  コンテンツの両端揃え: スペースを空ける;

  アイテムの位置を中央揃えにします。

}

@mixin flex-end_center{

  ディスプレイ: フレックス;

  コンテンツの端揃え: flex-end;

  アイテムの位置を中央揃えにします。

}
@mixin wrap_flex-start{

 

  ディスプレイ: フレックス;

  flex-wrap:ラップ;

  align-content:flex-start;

}

@mixin flex-start_column{

  ディスプレイ: フレックス;

  コンテンツの配置: flex-start;

  flex-direction: 列;

}

@mixin none_center_column{

 

  ディスプレイ: フレックス;

  アイテムの位置を中央揃えにします。

  flex-direction: 列;

}

@mixin センターセンター列{

  ディスプレイ: フレックス;

  アイテムの位置を中央揃えにします。

  コンテンツの配置: flex-start;

  flex-direction: 列;

}

このファイルはグローバルにカプセル化されたscssです

2. 単一ファイルの使用

3. グローバルマウント

3.1 依存関係のインポート

npm で sass-resources-loader をインストールします

設定を追加します:

vue.config.jsファイルに次のコードを追加します。

モジュール.エクスポート = {

  outputDir: 'mbb',/*出力ディレクトリ*/

  publicPath: '/',/*アクセスプレフィックス*/

  lintOnSave: false, // Eslint検出をオフにする chainWebpack: config => {

    定数 oneOfsMap = config.module.rule('scss').oneOfs.store

    oneOfsMap.forEach(アイテム => {

      アイテム

          .use('sass-resources-loader')

          .loader('sass-resources-loader')

          .オプション({

            // リソースを含むファイルへのパスを指定します

            // 共有リソースとなる SCSS のパス: 'src/assets/stylus/mixin.scss'

          })

          。終わり()

    })

  }

}

チェーンWebpackチャンク

3.2 プロジェクトを再開する

これで、vue の scss (mixin) のグローバル導入に関するこの記事は終了です。vue の scss のグローバル導入に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue2.x で SCSS をインストールして使用するプロセス全体
  • Vue+scssの昼夜モード切り替え機能を実装する方法
  • Vue で SCSS グローバル変数を設定する手順
  • Vueスコープのscssが無効である問題を解決する
  • vue2でscssを設定する手順
  • Vue で SCSS 構文を使用する方法をご存知ですか?

<<:  MySQL 8.0ドライバとAlibaba Druidバージョン間の互換性の問題を解決

>>:  HTML要素を非表示にするいくつかの方法

推薦する

純粋な CSS 実装 (スクリプトなし) HTML コマンド スタイルのツールチップ テキスト プロンプト効果

実行プロセスを分析します。マウスをノードに移動して、ノードにツールチップ実装を開くための識別子 (...

ドラッグ位置プレビューを実装するネイティブJS

この記事では、要素をドラッグするときにプレビューを追加する小さなデモを紹介します。効果は次のとおりで...

MySQLでテーブルを接続するいくつかの方法

MySQL テーブルでの接続方法は実は非常に簡単なので、ここではその特徴を簡単にリストします。テーブ...

Linuxダイナミックリンクライブラリの使用

通常のプログラムと比較すると、ダイナミック リンク ライブラリにはメイン関数がなく、一連の関数の実装...

ウェブデザインにおけるポップアップウィンドウとフローティングレイヤーのデザイン

従来のソフトウェアから Web ウェアへの段階的な移行の傾向の中で、デザイン パターンとテクノロジは...

Docker を使用してスタンドアロン Pulsar とクラスター化された Redis をデプロイする方法 (開発アーティファクト)

目次1. はじめに: 2. ドッカー: 1 カスタムネットワーク2 展開を開始する3 ネットワークを...

SQL インジェクションのある Web サイトを見つける方法 (必読)

方法 1: Google の詳細検索を使用します。たとえば、次に示すように.asp?id=9などの ...

MySql ストレージ エンジンとインデックスに関する知識のまとめ

ストレージエンジンデータベース ストレージ エンジンとは何ですか?データベース エンジンは、データベ...

Vueプロジェクトウォッチで関数が繰り返しトリガーされる問題の解決

目次問題の説明:解決策1解決策2問題の説明:ページ A と B の 2 つがあり、各ページにはget...

Windows での MySQL インストール チュートリアル (画像とテキスト付き)

MySQL インストール手順 MySQL は、スウェーデンの MySQL AB によって開発された...

さまざまな Tomcat ログと catalina.out ファイルのセグメンテーションの関係についての簡単な分析

Tomcatログの関係一枚の写真は千の言葉に値する! localhost.{yyyy-MM-dd}....

Docker コンテナのカスタム ホストのネットワーク アクセス操作

docker-compose.yml に extra_hosts キーワードを追加すると、コンテナの...

Zabbix は MySQL インスタンス メソッドを監視します

1. 監視計画監視項目を作成する前に、何を監視するのか、どのように監視するのか、監視データをどのよう...

数百万のデータに対して MySQL クエリを最適化する 4 つの方法

目次1. 時間が経つにつれて限界が遅くなる理由2. 百万データシミュレーション1. 従業員テーブルと...

CSS3 のフィルタプロパティの使用に関する詳細な説明

最近、イントラネットポータルを修正していたときに、フィルターを使用する必要がある箇所に遭遇しました。...