CSS の適用範囲はグローバルです。プロジェクトがどんどん大きくなり、参加する人が増えるにつれて、命名が問題になります。命名の問題に対する解決策をいくつか紹介します。 1. 境界要素法 名前は .block__element--modifier の形式です。名前には意味があります。ブロックはモジュールとみなされ、一定のスコープを持ちます。 例 .dropdown-menu__item--アクティブ 2. スコープ付きCSS 参考: vue-loader.vuejs.org/zh/guide/sc… 目標: 現在のコンポーネントスタイルは他のコンポーネントに影響を与えません コンポーネントのDOMノードに固有の属性を追加し、スタイルタグのCSSをその属性に合わせて変換し、CSSのスコープを制限します。 例 <スタイルスコープ> 。例 { 色: 赤; } </スタイル> <テンプレート> <div class="example">こんにちは</div> </テンプレート> 変換結果: <スタイル> .example[データ-v-f3f3eg9] { 色: 赤; } </スタイル> <テンプレート> <div class="example" data-v-f3f3eg9>こんにちは</div> </テンプレート> 3. CSSモジュール 参考: vue-loader.vuejs.org/zh/guide/cs… CSS セレクターを一意の文字列に変換し、DOM に適用します。アルゴリズムによって命名され、人間による命名からアルゴリズムによる命名へのマッピングテーブルが記録される。 例 <スタイルモジュール> 。赤 { 色: 赤; } </スタイル> <テンプレート> <p :class="$style.red"> これは赤であるべきだ </p> </テンプレート> 変換結果: <スタイルモジュール> ._1yZGjg0pYkMbaHPr4wT6P__1 { 色: 赤; } </スタイル> <テンプレート> <p class="_1yZGjg0pYkMbaHPr4wT6P__1"> これは赤であるべきだ </p> </テンプレート> 4. CSS-in-JS 参考: github.com/styled-comp… 固有のセレクターを使用して CSS コンテンツを表現します。 CSS モジュールと同じで、アルゴリズムを使用して名前が付けられます。 CSSをJSの文字列として扱い、CSSにより多くの機能を与える 例 <テンプレート> <css-in-js></css-in-js> </テンプレート> <スクリプト> 'vue-styled-components' から styled をインポートします。 エクスポートデフォルト{ コンポーネント: cssInJs: styled.div ` 色: 赤; ` } } </スクリプト> 変換結果: <テンプレート> <div class="gXTzCp"></div> </テンプレート> <スタイル> .gXTzCp { 色: 赤; } </スタイル> V. 結論
CSS 命名に関するこの記事はこれで終わりです: BEM、スコープ付き CSS、CSS モジュール、CSS-in-JS。CSS 命名に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 |
<<: デザイナーと開発者に役立つ 9 つの超実用的な CSS のヒント
>>: jsはブラウザを閉じるときにアカウントのログアウトを処理します
目次01 アトミックDDLの紹介02 一部のDDL操作の実行動作の変更03 DDL 操作のログを表示...
日常業務では、次のようなレイアウトに遭遇することがあります。親要素のフレーム (ブラウザのサイズに応...
目次1. はじめに2. シンプルなepollの例2.1、epoll_create 2.2、構造体イベ...
目次1. コード分析2. ソースコードソースコード1. コード分析1.1 HTMLコード分析 <...
表では、左上の境界線の色を個別に定義したり、セルの右下の境界線の色を定義したりできます。これら 2 ...
序文ご存知のとおり、nginx 構成ファイルは add_header ディレクティブを使用して応答ヘ...
Dockerfile は Docker イメージを構築するために使用されるファイルです。コマンドパラ...
@vue+echarts は中国地図のフロー効果を実現します#レンダリングを見てみましょう手順:コ...
Jenkinsのユーザーロール権限の設定には、ロール戦略プラグインのインストールが必要です。 1.ロ...
500 (内部サーバー エラー) サーバーでエラーが発生したため、要求を完了できませんでした。 50...
問題<br />レスポンシブ レイアウトでは、iframe 要素に注意する必要があります...
プロジェクト要件: 製品ツリー ノードをクリックすると、そのノードのすべての親ノードが取得され、表に...
方法1: DOMが提供するイベントオブジェクトのターゲットイベント属性を使用して値を取得し、送信する...
UNION演算子の使用union : 2 つ以上の SELECT ステートメントの結果を 1 つの...
目次序文JavaScript find() メソッドJavaScript filter() メソッド...