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 データベースをインストールするための詳細なチュートリアル

推薦する

25 div+css プログラミングのヒントとコツ

1. ul タグには、Mozilla ではデフォルトでパディング値がありますが、IE ではマージン値...

Linux sedコマンドの使用

1. 機能紹介sed (Stream EDitor) は、コンテンツを 1 行ずつ処理するストリーム...

MySQL全文インデックスの原理と欠点

MySQL フルテキスト インデックスは、特定のテーブルの特定の列に表示されるすべての単語のリストを...

重複したMySQLテーブルをマージして削除する簡単な方法

シナリオ:クロールされたデータは、別のメインテーブルと同じ構造を持つデータテーブルを生成するため、マ...

仮想マシンのLinux初心者がIPを設定し、ネットワークを再起動する

仮想マシンを初めて使用する方や、仮想マシンに Linux をインストールしたばかりの方は、システムが...

JavaScript で配列遅延評価ライブラリを実装する方法

目次概要達成方法具体的な実装評価関数の終了を決定する生成関数の範囲変換関数マップフィルター割り込み機...

MySQLのさまざまなロックに関する詳細な理解

目次ロックの概要ロックの分類データベース操作の粒度データ操作の種類MySQL ロックさまざまなストレ...

Win10 での MySQL 8.0 ログインでユーザー 'root'@'localhost' のアクセスが拒否される (パスワード使用: YES) 問題の解決方法

最近、MySQL を学び始めました。インストールはスムーズに進み、インターネット上の既成のチュートリ...

CocosCreatorでリストを作成する方法

CocosCreator バージョン: 2.3.4 Cocos には List コンポーネントがない...

Vue の匿名スロットと名前付きスロットの詳細な説明

目次1. 匿名スロット2. 名前付きスロット要約するスロット (slot) は、Vue のコンテンツ...

CSS3 を使用して 3D テキスト ホバー効果を実装するサンプル コード

この記事では、3D テキストのホバー変更効果を実現するための CSS3 のサンプル コードを紹介しま...

CentOS7で新しいデータディスクをマウントするための完全な手順

序文新しい VPS を購入しました。新しい VPS のデータ ディスクはデフォルトではシステムにマウ...

シャトルボックス機能を実装するためのVueの詳細なコード

Vue - シャトルボックス機能を実装します。効果図は次のようになります。 CS 。移行{ ディスプ...

MySQLインデックスの失敗の典型的なケース

目次典型的なケース付録: 一般的なインデックス障害の状況典型的なケース次の構造を持つ 2 つのテーブ...