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要素を非表示にするいくつかの方法

推薦する

MySQLサービスが起動しても接続されない問題の解決策

mysql サービスは開始されていますが、接続できません。この問題を解決するにはどうすればよいでしょ...

WeChatアプレットコンポーネント開発:視覚的な映画座席選択機能

目次1. はじめに1. コンポーネントデータ2. コンポーネントページのレイアウト1. ロゴエリアの...

webpack-dev-server のコア概念とケースの詳細な説明

webpack-dev-server コアコンセプトWebpack の ContentBase と ...

JavaScript でアルゴリズムの複雑さを学ぶ方法

目次概要Big O 表記法とは何ですか?オー(1)の上) (n^2) O(logn) ですの上!)結...

データベースSQL文の最適化

最適化する理由:実際のプロジェクトが開始され、データベースが一定期間稼働した後、初期のデータベース設...

HTML スライドフローティングボールメニュー効果の実装

CSS スタイル html,本文{ 幅: 100%; 高さ: 100%; マージン: 0;パディング...

JavaScript を使って簡単な計算機を書く

効果は以下のとおりです。参考プログラム: <!DOCTYPE html> <htm...

SQLと各種NoSQLデータベースの使用シナリオの説明

SQL はメイントランクです。なぜ私はこのように理解するのでしょうか。技術的な観点からリレーショナル...

CocosCreatorのホットアップデートの包括的な説明

目次序文ホットチェンジとはCocos Hot アップデートの概要マニフェストプロジェクトリソースとゲ...

CSS の ::before と ::after 疑似要素について知らないこと

CSS には、一般的には使用されない 2 つの疑似クラス、before と :after があります...

MySQLデータベースのトランザクションとインデックスの詳細な説明

目次1. 事務:取引の 4 つの主な特徴:同時トランザクションはどのような問題を引き起こしますか? ...

Jenkins + Docker + ASP.NET Core の自動デプロイメントの問題について (落とし穴を避ける)

このブログを書くつもりはなかったのですが、実際の操作中に、ネットワークの問題に圧倒されたこと (ネッ...

CSS3は赤い封筒を振る効果を実現します

赤い封筒の揺れ効果を実現するには要件があります。これまでやったことがないので、記録しておきます。ヘヘ...

Vueでシングルサインオンを実装する方法のまとめ

最近プロジェクトが中断され、RageFrame の研究は一時的に終了しました。この記事では、シングル...

js QRコードスキャンログインの原理についての簡単な説明

目次QRコードログインの真髄QRコードを理解するシステム認証メカニズムQRコードをスキャンしてログイ...