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

推薦する

ウェブページエクスペリエンス: 計画と設計

1. デザインの方向性を明確にする<br />まず、どのユーザーを対象にデザインするのか...

MySQL リンクを表示し、異常なリンクを削除する方法

序文:データベースの運用や保守の際には、リンクの総数がいくつあるか、アクティブなリンクがいくつあるか...

HTMLページ間で値を渡す問題の解決策

初めてこのエッセイを使ったとき、私はかなりぎこちなく感じましたhtmlファイルコードをコピーコードは...

Pythonで書かれたWebアプリケーションをDockerでデプロイする実践

目次1. Dockerをインストールする2. コードを書く3. Dockerfileを書く4. 画像...

nginx で複数の仮想ホストを設定する方法の例

nginx で仮想ホスト vhost を設定すると非常に便利です。 nginx設定ファイルnginx...

MySQL はどのようにしてマルチバージョンの同時実行性を実現するのでしょうか?

目次MySQL マルチバージョン同時実行1. マルチバージョン同時実行制御1. 一貫した読み取り2....

Vue は Ctrip のカルーセル効果を模倣します (スライディング カルーセル、以下は高度に適応)

まずケースを見てみましょう。vue+swiper を使用して実装します。スライドの高さが異なる場合、...

ドラッグ効果を実現するための js オブジェクト指向メソッド

この記事では、ドラッグアンドドロップをJSオブジェクト指向で実装するための具体的なコードを参考までに...

Linux で killall コマンドを使用してプロセスを終了する 8 つの例

Linux コマンドラインには、プロセスを強制終了するためのコマンドが多数用意されています。たとえば...

Vueはファイルのアップロードとダウンロード機能を実装します

この記事では、ファイルのアップロードとダウンロード機能を実装するためのVueの具体的なコードを例とし...

Dockerは起動されていないコンテナの設定情報を変更します

私が初めてdockerを使用したときは、dockerfileやdocker-composeを使用して...

Nest.js パラメータ検証とカスタム戻りデータ形式の詳細な説明

0x0 パラメータ検証Nest.jsでは、パラメータ検証業務のほとんどをパイプライン方式で実装してい...

CSS3 変換によって子要素の固定位置を絶対位置に変更する方法

この記事では、CSS3 の transform を使用して子要素の固定配置を絶対配置に変更する方法を...

HTML テーブルタグについての簡単な説明

主にその構造といくつかの重要な特性について説明します。少しずつ改善しながら紹介していきます。 1) ...