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

推薦する

使用状況分析を備えたMySQL

持つことの使用法having 句を使用すると、グループ化後にさまざまなデータをフィルター処理できます...

CSSスクロールバーのスタイルをカスタマイズする方法の詳細な説明

この記事では、CSS スクロールバー セレクターを紹介し、Webkit ブラウザーと IE ブラウザ...

CentOS システムの rpm インストールと Nginx の設定

目次CentOS rpm のインストールと Nginx の設定導入rpm パッケージのインストールサ...

MySQL の最適化: 高品質の SQL 文を書く方法

序文インターネット上にはデータベースの最適化に関する情報や方法が数多くありますが、その多くは品質にば...

ubuntu16.04 で nginx を完全にアンインストールするための関連コマンド

nginx の概要nginx は、無料のオープンソースの高性能 HTTP サーバーおよびリバース プ...

XHTML の IE 条件付きコメント

<br />条件付きコメントはIEシリーズ製品上でXHTMLコード処理を分離して行うこと...

CentOS 7.4 に MySQL 5.7 を手動でインストールする方法

MySQL データベースは、特に JAVA プログラマーの間で広く使用されています。クラウド データ...

タイムライン効果を実現するCSS3

最近、コンピューターの電源を入れたところ、Geek Academy が新規ユーザーに 1 か月の無料...

MySQL ディープページング問題の解決の実践記録

目次序文ディープページングを制限すると遅くなるのはなぜですか?サブクエリによる最適化B+ツリー構造の...

CSS での三角形の描画と巧妙な応用例の詳細な説明

鉛Web ページ上の一般的な三角形の一部は、画像やフォント アイコンにする必要なく、CSS を使用し...

MySQL ビッグデータ クエリ最適化エクスペリエンスの共有 (推奨)

本格的な MySQL 最適化! MySQL のデータ量が少ない場合は最適化は不要です。データ量が多い...

MySQLの基本操作学習ノートテーブル

テーブルを作成テーブルテーブル名を作成create table if not exists 表名 m...

Windows での MySQL の使用: 自動スケジュールバックアップの実装

1. バックアップスクリプトを書く 著者:www.yumi-info.com 日付:20171222...

10秒以内にMySQLデータベースに数百万件のレコードを挿入する実装

まず、次の質問について考えてみましょう。このような膨大な量のデータをデータベースに挿入するには、通常...

Elasticsearch を使用する際の一般的な問題の解決策

1. redis で使用すると Netty の起動競合が発生するため、***Application ...