CSSスコープ(スタイル分割)の使用の概要

CSSスコープ(スタイル分割)の使用の概要

1. CSSスコープの使用(スタイル分割)

Vue では、CSS スタイルを現在のコンポーネントでのみ有効にします。scoped scopedは HTML5 の新しい属性です。これはブール属性です。この属性を使用すると、スタイルはスタイル要素の親要素とその子要素にのみ適用されます。

ここに画像の説明を挿入

2. スコープの実装原則

Vue のスコープ属性の効果は、主に PostCSS 変換によって実現されます。以下は変換前の Vue コードです。

  <スタイルスコープ>
    。テスト {
      色: 青;
    }
  </スタイル>
  
  <テンプレート>
    <div class="test">こんにちは世界</div>
  </テンプレート>

翻訳後:

  <スタイル>
    .test[データ-v-5559930f] {
      色: 青;
    }
  </スタイル>
  
  <テンプレート>
    <div class="test" data-v-5559930f>こんにちは世界</div>
  </テンプレート>

PostCSS は、コンポーネント内のすべての DOM に一意の動的プロパティを追加し、コンポーネント内の DOM を選択するために、CSS セレクターに対応する追加の属性セレクターを追加します。このアプローチにより、スタイルは、プロパティ <component internal DOM> を含む DOM でのみ機能します。

3. スコープ貫通法

多くのプロジェクトでは、サードパーティ コンポーネントを参照する場合、コンポーネント内でローカルにサードパーティ コンポーネントのスタイルを変更する必要がありますが、スコープ属性を削除してコンポーネント間のスタイル汚染を引き起こすことは望ましくありません。現時点では、スコープを貫通するにはいくつかの特別な方法が必要です。

方法 1: >>> を使用してスコープ属性に侵入し、他のサードパーティ コンポーネントのスタイルを変更します。

ここに画像の説明を挿入

方法 2: scoped属性を持つスタイル タグとscoped属性を持たないstyleタグの 2 つを使用して、サードパーティ コンポーネントのスタイルを変更します。

ここに画像の説明を挿入

方法3: sassまたはlessスタイルを使用して/deep/浸透する

ここに画像の説明を挿入

方法 4:最外層にidまたはclassを追加して区別します。

CSSスコープ(スタイル分割)に関する記事はこれで終了です。CSSスコープに関するより詳しい内容は、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

<<:  MySQL で 1000 万件のレコードをすばやくクエリする方法

>>:  Linux システムで Tomcat を自動的に起動するための設定方法の紹介

推薦する

Reactにおける制御されたコンポーネントと制御されていないコンポーネントの簡単な分析

目次制御されていないコンポーネント制御コンポーネント知らせ結論は制御されていないコンポーネントフォー...

Chrome デベロッパー ツールの詳細な紹介 - タイムライン

1. 概要ユーザーは、アクセスする Web アプリケーションがインタラクティブでスムーズに実行される...

Vue プロジェクト @change 複数のパラメータを使用して複数のイベントを渡す

まず、変更イベントは 1 つだけです。 changelevel() //値を選択選択を変更して行の値...

MySQL 8.0 の新機能: ハッシュ結合

MySQL 開発チームは、2019 年 10 月 14 日に MySQL 8.0.18 GA バージ...

nginx で SSL 証明書を設定して https サービスを実装する方法

前回の記事では、openssl を使用して無料の証明書を生成した後、この証明書を使用してローカル ノ...

数十行のjsを使用してクールなキャンバスインタラクティブ効果を実現する方法を教えます

目次1. 円を描く2. マウスで動かした円3. マウスでドラッグした粒子4. カラーグラデーション粒...

CSS でデフォルトのスタイルをクリアし、共通のスタイルを設定する方法

CSS デフォルトスタイルをクリア通常の明確なデフォルト スタイル: *{ マージン:0; パディン...

VMware仮想マシンブリッジによるインターネット相互接続を実現する方法

VMware をインストールして新しい仮想マシンを作成したら、オプション バーの [編集] - [仮...

例によるMySql CURRENT_TIMESTAMP関数の分析

時間フィールドを作成するときデフォルトのCURRENT_TIMESTAMPデータを挿入する際、このフ...

MySQL にテーブルが存在するかどうかを確認し、それを一括で削除する方法

1. インターネットで長時間検索しましたが、判定表が存在するかどうかがわからなかったので、漠然と削除...

40 CSS/JSスタイルと機能的な技術処理

1-ドロップダウン選択ボックスのスタイル設定 - ドロップダウン リストを変更します。 2- <...

CentOS での samba フォルダ共有サーバー構成の詳細な説明

1. はじめに最近、CentOS での開発には多くの不便があることがわかりました。Windows/M...

web.config (IIS) および .htaccess (Apache) の構成

xml <?xml バージョン="1.0" エンコーディング="...

Vue3 リストインターフェースデータ表示の詳細

目次1. リストインターフェースの表示例2. データを表示する2.1. コンポーネントがリストに表示...

情報製品の読書リストのインタラクティブなデザインに関する考えと経験の共有

リストは、テーブルをコンテナーとして使用するテキストまたはグラフの形式として定義されます。商品の種類...