vueのグローバルがscss(mixin)を導入。
2022-01-13 10:33:44
<ブロッククオート
我々はVUEを書くとき、我々はscssを使用しますが、また、いくつかの一般的なスタイルを行うには、使いやすい、良い汎用スタイルを記述するときに、あなたは単一のファイルをインポートする必要があるたびに、最初に書いたとき、それは大丈夫だと感じ、プロジェクトのボリューム後に、それはトラブルのようだ、次にグローバルインポートscssスタイルでこの記事!この記事を参照してください。
1、mixin.scss
// Color definition specification
$color-background : #FFFFFF;
$color-background-d : rgba(0, 0, 0, 0.3);
$color-highlight-background : #333;
$color-dialog-background : #666;
$color-theme : #ffcd32;
$color-theme-d : rgba(255, 205, 49, 0.5);
$color-sub-theme : #d93f30;
$color-text-d : rgba(255, 255, 255, 0.3);
$color-text-l : rgba(255, 255, 255, 0.5);
$color-text-ll : rgba(255, 255, 255, 0.8);
$font-gray : #999;
// Font definition specification
$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;
$font-weight : 600;
body,html{
//background: rgb(239, 242, 249);
}
//background image 100%
@mixin bkgMaxSize($url) {
background-image: url($url);
background-repeat: no-repeat;
background-size: 100% 100%;
}
@mixin font-setting-group($font-size,$font-family,$font-weight,$color,$line-height){
font-size: $font-size;
font-family: $font-family;
font-weight: $font-weight;
color: $color;
line-height: $line-height;
}
//rounded corners of the border
@mixin borderRadius($radius) {
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
-ms-border-radius: $radius;
-o-border-radius: $radius;
border-radius: $radius;
}
//positioning top, bottom, left, right and center
@mixin positionCenter {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
//positioning top and bottom center
@mixin ct {
position: absolute;
top: 50%;
transform: translateY(-50%);
}
//position left and right centered
@mixin cl {
position: absolute;
left: 50%;
transform: translateX(-50%);
}
//position allcover
@mixin allcover {
position: absolute;
top: 0;
right: 0;
position: absolute; top: 0; right: 0; }
// Relative positioning
@mixin my-absolute($left, $top,$z) {
position: absolute;
z-index: $z;
margin-left: $left;
margin-top: $top;
}
//width-height-different
@mixin widthHeightN($width, $height){
width: $width;
height: $height;
}
//width-height-same
@mixin widthHeightY($number){
width: $number;
height: $number;
}
//font size, color
@mixin sizeColor($size, $color){
font-size: $size;
color: $color;
}
//flex layout
@mixin center_none{
display: flex;
justify-content: center;
align-items: center;
}
@mixin center_center{
display: flex;
justify-content: center;
align-items: center;
}
@mixin flex-start_center{
display: flex;
justify-content: flex-start;
align-items: center;
}
@mixin space-between_center{
display: flex;
justify-content: space-between;
align-items: center;
}
@mixin space-around_center{
display: flex;
justify-content: space-around;
align-items: center;
}
@mixin flex-end_center{
display: flex;
justify-content: flex-end;
align-items: center;
}
@mixin wrap_flex-start{
display: flex;
flex-wrap:wrap;
align-content:flex-start;
}
@mixin flex-start_column{
display: flex;
justify-content: flex-start;
flex-direction: column;
}
@mixin none_center_column{
display: flex;
align-items: center;
flex-direction: column;
}
@mixin center_center_column{
display: flex;
align-items: center;
justify-content: flex-start;
flex-direction: column;
}
このファイルは、グローバルにラップされた
scss
2. 単一ファイルの使用
3. グローバルマウント
3.1 依存関係のインポート
npm install sass-resources-loader
<スパン 設定を追加します。
vue.config.js
次のコードをファイルに追加してください。
module.exports = {
outputDir: 'mbb',/* output directory*
publicPath: '/',/* access prefix*
lintOnSave: false,// turn off Eslint detection
chainWebpack: config => {
const oneOfsMap = config.module.rule('scss').oneOfs.store
oneOfsMap.forEach(item => {
item
.use('sass-resources-loader')
.loader('sass-resources-loader')
.options({
// Provide path to the file with resources
// Path to the common scss
resources: 'src/assets/stylus/mixin.scss'
})
.end()
})
}
}
のchainWebpackブロックは
3.2 プロジェクトを再始動する
この記事は vue global introduction of scss (mixin) についてのものです。vue global introduction of scss のその他の関連コンテンツは BinaryDevelop の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JSクロスドメインソリューション リアクト構成 リバースプロキシ
-
Vueがechartsのtooltipにクリックイベントを追加するケーススタディ
-
Vue Element-uiは、アイコンを追加するためのツリーコントロールノードを詳細に実装しています。
-
要素ツリー制御によるvueTreeテーブル
-
Vue+ElementUIによる大規模なフォームの処理例
-
vue3.0プロジェクトのアーキテクチャを構築するための便利なツール
-
vueにおけるv-forループオブジェクトのプロパティ
-
vueが定義するプライベートフィルタと基本的な使い方
-
Vueの「データを聴く」原則を解説
-
Vueのフォームイベントのデータバインディングの説明