検索

UI は、フロントエンドを完成させるためにロジックを入力し始める前の最初のステップです。したがって、マークアップを記述し、その後に目的の UI を取得するために必要な必須のスタイルを記述します。マークアップを作成する際、HTML タグにアドレス指定してアクセスし、それにスタイルを追加するための意味のあるクラス名を作成する必要があります。シンプルな UI と個別のタグを使用すると、これを多かれ少なかれ簡単に行うことができます。繰り返しの複雑な UI を作成する場合、一般的な名前がほとんどないため、意味のある個別の名前を付けると大変なことになります。したがって、コンポーネントと個々のコンポーネントのスタイルシートを作成します。以下に示すように。

CSS conflict in React

GreenContainer と RedContainer の 2 つのコンポーネントが、src 内のコンポーネント フォルダーから App.js にインポートされていることがわかります。それぞれのスタイル シートは RedContainer.css と GreenContainer.css で、styles フォルダーからインポートされます。コンポーネントとそのスタイルシートの両方を 1 つずつ見てみましょう。

最初のコンポーネント RedContainer.jsx

CSS conflict in React

それぞれのスタイルシートは - RedContainer.css

CSS conflict in React

次に 2 番目のコンポーネント、GreenContainer.js -

を見てみましょう。

CSS conflict in React

2 番目のコンポーネント GreenContainer.css の CSS ファイル

CSS conflict in React

どちらのスタイル シートにも、それぞれのコンポーネントの個別の CSS プロパティが含まれています。したがって、予想される UI の結果は、2 つのブロックが存在する画面になる可能性があります。1 つは 150 ピクセルの腕を持つ赤い四角形で、もう 1 つは 200 ピクセルの腕を持つ緑の四角形です。レンダリングされた React アプリを見てみましょう。

CSS conflict in React

なぜこのようなことが起こっているのでしょうか?最後のコンテナの CSS プロパティが両方のコンテナに適用されています。しかし、どうやって?答えは、React アプリがレンダリングされる直前に、すべてのスタイル シートが 1 つの CSS ファイルにコンパイルされます。このファイルには、同じ名前「.container」を持つ 2 つのクラス セレクターがあり、最後の「.container{ }" がすべてのコンテナにグローバルに適用されました。この問題は、CSS モジュールを使用することで解決できます。 CSS モジュールは、デフォルトですべてのクラス名がローカルにスコープされる CSS ファイルです。これは次の点で役立ちます

1) スタイルを特定のコンポーネントにローカライズすることで、このグローバル スコープの競合を回避できます。

2) 異なるモジュールで同じクラス名の使用を許可し、モジュール形式のスタイルを促進します。

モジュール式スタイルを使用するには、「.css」を「.module.css」に置き換えて、それらのファイルから「スタイル」をインポートする必要があります。

CSS conflict in React

スタイルをそれぞれのコンポーネントにインポートします。 RedContainer の場合 -

CSS conflict in React

GreenContainer の場合

CSS conflict in React

一般に、className は次のような文字列として記述します。className が "container" の場合は、className = "container" と記述します。 CSS モジュールの場合、jsx ファイルに className = {styles.container} のようにクラス名を記述します。次に、レンダリングされた React アプリを見てみましょう -

CSS conflict in React

現在、CSS の競合の問題はなく、スタイルがそれぞれのコンポーネントに適切に適用されています。

以上がReact での CSS 競合の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
CSS Flexbox vsグリッド:包括的なレビューCSS Flexbox vsグリッド:包括的なレビューMay 12, 2025 am 12:01 AM

FlexBoxまたはグリッドの選択は、レイアウト要件によって異なります。1)FlexBoxは、ナビゲーションバーなどの1次元レイアウトに適しています。 2)グリッドは、雑誌のレイアウトなどの2次元レイアウトに適しています。この2つは、レイアウト効果を改善するためにプロジェクトで使用できます。

CSSファイルを含める方法:メソッドとベストプラクティスCSSファイルを含める方法:メソッドとベストプラクティスMay 11, 2025 am 12:02 AM

CSSファイルを含める最良の方法は、タグを使用してHTMLパーツに外部CSSファイルを導入することです。 1.タグを使用して、外部CSSファイルを導入します。 2。小さな調整のために、インラインCSSを使用できますが、注意して使用する必要があります。 3.大規模プロジェクトでは、@Importを介して他のCSSファイルをインポートするために、SASS以下などのCSSプリプロセッサを使用できます。 4。パフォーマンスのために、CSSファイルをマージし、CDNを使用し、CSSNANOなどのツールを使用して圧縮する必要があります。

FlexBox対グリッド:両方を学ぶべきですか?FlexBox対グリッド:両方を学ぶべきですか?May 10, 2025 am 12:01 AM

はい、Youはrelearnbothlexboxandgrid.1)FlexBoxisidealforone-Dimensional、FlexiblleayoutslikenavigationMenus.2)Gridexcelsintwo-digsignssuchasmagazinelayouts.3)Bothenhanceslaysutibulivedibulisunivedivition、floctonsulururを

軌道力学(またはCSSキーフレームアニメーションの最適化方法)軌道力学(またはCSSキーフレームアニメーションの最適化方法)May 09, 2025 am 09:57 AM

独自のコードをリファクタリングするのはどのように見えますか?ジョン・レアは、彼が書いた古いCSSアニメーションを選び、それを最適化するという思考プロセスを歩きます。

CSSアニメーション:それらを作成するのは難しいですか?CSSアニメーション:それらを作成するのは難しいですか?May 09, 2025 am 12:03 AM

cssanimationsArenotintinlentyhardbutrepracticeanderstanding ofcsspropertiesandtimingfunctions.1)

@KeyFrames CSS:最も使用されているトリック@KeyFrames CSS:最も使用されているトリックMay 08, 2025 am 12:13 AM

@keyframesispopularduetoitsversitility andpowerincreatingsmoothcssanimations.keytricksinclude:1)defingsmoothtransitionsbetweenstates、2)AnimatingMultipleProperiessimally、3)3)bendorprefixesforbrows -compativity、4)組み合わせwithjavasfo

CSSカウンター:自動番号の包括的なガイドCSSカウンター:自動番号の包括的なガイドMay 07, 2025 pm 03:45 PM

csScounterSareSareusedTomageautomaticinginginwebdesigns.1)それらは、コンテンツ、リスト、および積極的なものを使用することができます

スクロール駆動型のアニメーションを使用したモダンなスクロールシャドウスクロール駆動型のアニメーションを使用したモダンなスクロールシャドウMay 07, 2025 am 10:34 AM

特にモバイルデバイスでは、スクロールシャドウを使用することは、Chrisが以前にカバーした微妙なUXです。 Geoffは、アニメーションタイムラインプロパティを使用する新しいアプローチをカバーしました。これがさらに別の方法です。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。