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はブラウザを閉じるときにアカウントのログアウトを処理します
この記事では、カレンダー効果を素早く実現するためのJavaScriptの具体的なコードを例として紹介...
今日、mysql ポートを変更したいと思ったのですが、/etc/ ディレクトリに my.cnf ファ...
最初は速度の問題だと思ったので、その後、すべての画像リンク リクエストをクロスサイト接続ではなくサイ...
SSL 証明書の使用についてはここでは説明しません。SSL 証明書を導入する必要がある友人は、すでに...
以下のように表示されます。主に認証コマンドを実行します: 2つの方法1. 任意のホストがユーザー b...
目次1. はじめに2. 設定手順1. はじめに1. NAT モード (VMnet8) は、仮想マシン...
<br />2 年前に PPK が投稿した素晴らしいブログ記事では、contains()...
async_hooks モジュールは、Node.js バージョン 8.0.0 に正式に追加された実験...
最近、分散型およびビッグデータ技術について学ぶために、いくつかの仮想マシンに取り組んでいます。まず、...
mysql のデフォルトのストレージ ディレクトリは/var/lib/mysql/です。以下は、デフ...
この記事では、 Dockerコンテナ ( docker-composeを使用してオーケストレーション...
背景フレックス レイアウトにより、配置とスペースの割り当てがより効果的に実現されます。最近、flex...
相対パスの概念現在のファイルの場所を参照ポイントとして使用して、ターゲット ファイルへのパスを確立し...
目次最初の方法アプリ.vueホーム.vueホームコンテンツ.vueデータの応答性レスポンシブプロパテ...
コードが失われ、コンテナ内で実行されているイメージから必要なコードを回復する必要がある場合があります...