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 を自動的に起動するための設定方法の紹介

推薦する

太字の <b> と <strong> の違いの分析

私たちウェブマスターは皆、ウェブサイトを最適化する際に記事内のキーワードを太字にすることが最適化に非...

ie8/ie9/ie10/ie11 chrome firefox を区別するための CSS コード

ウェブサイトの互換性のデバッグは本当に面倒です。今日のウェブサイト デザイナーは、以前よりもはるかに...

ミニプログラムはリストのカウントダウン機能を実装します

この記事の例では、ミニプログラムでリストカウントダウンを実装するための具体的なコードを参考までに共有...

HTML ウェブページにおけるさまざまなフォント形式の詳細

このセクションでは、テキストの変更の詳細から始めます。これにより、読者はさまざまな HTML フォン...

全文検索とキーワードスコアリング方式のMySQL実装例

1. はじめに今日、同僚から、MySQL を使用して ElasticSearch に似た全文検索機能...

一意の注文番号を生成するためのMySQLの高同時実行方法

序文このブログ記事が公開された後、何人かの友人からSQL Serverバージョンがあるかどうか尋ねら...

MySQL における 10 進数型の使用法の簡単な紹介

MySQL でサポートされている浮動小数点型は、 FLOAT 、 DOUBLE 、およびDECIMA...

CSS を使用して正方形の div を実装する 2 つの方法

目標: 辺の長さが等しい正方形を作成する方法 1: 単位 vw を使用する (ps これが最も簡単な...

Docker用国産イメージウェアハウスの使い方

1. 問題の説明何らかの理由により、中国でのDockerイメージのダウンロード速度は特に遅くなります...

redhat7 に yum 経由で mysql5.7.17 をインストールするチュートリアル

RHEL/CentOS シリーズの Linux オペレーティング システムには MySQL ソース自...

MySQL マルチバージョン同時実行制御 MVCC の実装

目次MVCCとはMVCC 実装MVCC はファントム リードを解決しますか? MVCCとはMVCC ...

Linux の MySQL でリモート接続を承認する方法

注意: 他のマシン (IP) は、承認なしではクライアント経由で MySQL データベースに接続でき...

MySQL で遅いクエリ SQL を見つけて最適化する詳細な例

目次1. 遅いクエリSQLを見つけて最適化する方法a. スローログに基づいてスロークエリSQLを見つ...

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

MySQL 8.0.22のインストールと設定方法のグラフィックチュートリアル、参考までに、具体的な内...

ウェブサイト制作におけるオンライン広告の新しいインタラクティブ体験(グラフィックチュートリアル)

インターネット時代が成熟するにつれて、オンライン広告の発展も加速しています。圧倒的な広告収入と完璧な...