Vue3 シングルファイルコンポーネントのスタイル機能の詳細な説明

Vue3 シングルファイルコンポーネントのスタイル機能の詳細な説明

スタイルスコープ

注意事項:

  • スタイルは他のコンポーネントには影響せず、現在のコンポーネントにのみ有効になります。
  • 子コンポーネントのルート要素は、親コンポーネントのスコープ スタイルと子コンポーネントのスコープ スタイルの両方の影響を受けます。これにより、親コンポーネントが子コンポーネントのレイアウトを調整できるようになります。
  • 特別なセレクターが 3 つあります。

1. ディープセレクター: 子コンポーネントに影響を与える可能性があります。疑似クラス => :deep(cls: 影響を受けるセレクター) を使用します。

    .a :deep(.b) {
        ...
    }

2. スロットセレクター: スロットコンテンツのスタイルに影響を与えます。疑似クラスを使用する => :slotted(selector)

    :sloted(.a) {
        ...
    }

3. グローバルセレクター: スタイルはグローバル環境に影響します。 疑似クラスを使用する => :global(selector)

    :sloted(.a) {
        ...
    }

スコープ付きスタイルはスタイルとともに存在できる

スタイルモジュール

スタイル タグにはモジュールが含まれています。そのスタイルは、スタイル スコープと同様に、現在のコンポーネントにのみスコープできます。

このメソッドは、CSS を CSS モジュールにコンパイルし、CSS スタイルを使用するためにコンポーネントの $styles オブジェクトに公開します。

<テンプレート>
  <p :class="$style.red">
    これは赤であるべきだ
  </p>
</テンプレート>

<スタイルモジュール>
。赤 {
  色: 赤;
}
</スタイル>

モジュールに値を割り当てて、公開されるオブジェクトの名前をカスタマイズできます

<テンプレート>
  <p :class="style.red">
    これは赤であるべきだ
  </p>
</テンプレート>

<スタイル モジュール = 'スタイル'>
。赤 {
  色: 赤;
}
</スタイル>

useCssModule() API を使用して、結合された API で cssModule を使用できます。

// デフォルトでは、<style module> useCssModule() のクラスを返します

// 名前を付けて、<style module="classes"> でクラスを返す useCssModule('classes')

状態駆動型動的CSS

v-bind() を使用して、CSS 値を動的コンポーネントの状態と関連付けることができます。

<テンプレート>
  <div class="text">こんにちは</div>
</テンプレート>

<スクリプト>
エクスポートデフォルト{
  データ() {
    戻る {
      色: 「赤」
    }
  }
}
</スクリプト>

<スタイル>
。文章 {
  色: v-bind(色);
}
</スタイル>

要約する

これで、vue3 シングルファイル コンポーネントのスタイル機能に関するこの記事は終了です。vue3 シングルファイル コンポーネントのスタイル機能に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vite2+Vue3を使用してMarkdownドキュメントをレンダリングする練習
  • Vue3ナビゲーションバーコンポーネントのカプセル化実装方法
  • Vue3 Vue イベント処理ガイド
  • vue3.0+echarts は 3 次元の縦棒グラフを実現します
  • この記事では、Vue 3.0 レスポンシブの使い方を説明します。
  • vue3.2 で追加された defineCustomElement の基本原理の詳細な説明
  • Vue3 + TypeScript 開発の概要
  • Vue3+TypeScriptは再帰メニューコンポーネントの完全な例を実装します
  • Vue3はToDoリストを実装する
  • Vue3+スクリプト設定+ts+Vite+Volarプロジェクト
  • Vue3 コンポジション API でロジックの再利用を実装する方法
  • Vue3は画像拡大鏡効果を実現します
  • vue3.0+vant3.0の迅速なプロジェクト構築の実装
  • Vue3 ドキュメント クイックスタート

<<:  Windows 10 での MySQL 8.0.20 のインストールと設定方法のグラフィック チュートリアル

>>:  CentOS 7 に MySQL 8.0.20 データベースをインストールするための詳細なチュートリアル

推薦する

ネイティブ Js で実装されたシンプルなシームレス スクロール カルーセルのサンプル コード

シンプルなシームレススクロールカルーセルには多くの抜け穴があり、後から画像を追加するのは非常に不便で...

vue-routerのマッチングに基づいてパンくずリスト機能を実現する

この記事では主にvue-routerのmatchedをベースにしたbreadcrumb機能を紹介し、...

JavaScript 初心者のための二分探索木アルゴリズムのチュートリアル

目次バイナリ検索木 (BST) とは何ですか?バイナリツリーの基本的な走査(インオーダー、ポストオー...

Centos7 に mysql と mysqlclient をインストールする際に遭遇する落とし穴の概要

1. MySQL Yumリポジトリを追加するMySQL公式サイト>ダウンロード>MySQ...

Vue-Routerのインストールと使用方法の詳細な説明

目次インストールルーティングの基本構成Vue にルーターをインストールするルーターの設定Router...

VueとElementUIを組み合わせたスキン変更ソリューション

目次前面に書かれた解決策 1: グローバル スタイル オーバーライドを使用する (フロントエンドに共...

Docker Toolboxを完全にアンインストールする方法

Docker Toolbox は、Windows 10 Professional より前のバージョン...

Docker+Jenkins+Gitlab+Djangoアプリケーションデプロイ実践の詳細な説明

1. 背景インターネット アプリケーションの急速な更新と反復という状況では、従来の手作業や単純なスク...

CentOS IP接続ネットワーク実装プロセス図

1. システムにログインし、ディレクトリに入ります: cd /etc/sysconfig/netwo...

HTML内の画像はbase64でエンコードされた文字列に直接置き換えられます

最近、画像はあるのに外部画像リソースが参照されていないウェブページを見つけました。気になりました。コ...

MySQL での order by の使用に関する詳細

目次1. はじめに2. 本文2.1 単一列のソート2.2 複数の列を並べ替える2.3 ソート方法2....

MySQL エラー 1290 (HY000) の解決方法

私は長い間問題に取り組み、文法上の問題を何度も確認しました。しかし、後でネットで調べてみたら、突然理...

WIN10 での JDK インストールと環境変数の設定手順 (詳細版)

目次1. JDKをダウンロードする(例としてjdk1.8.0を使用する) 2. JDK をインストー...

Vue.jsはカレンダー機能を実装します

この記事では、カレンダー機能を実装するためのVue.jsの具体的なコードを例として紹介します。具体的...

HTMLチュートリアル、簡単に学べるHTML言語

1. <body background=画像ファイル名 bgcolor=color text=...