カスケードと戦って、コントロールしないでください!
CSSカスケードをマスターしてください:カオスに別れを告げ、コントロールを受け入れてください!この記事では、新しいCSS機能を使用してカスケードを制御して、より簡潔で効率的なCSSコードを作成する方法について説明します。過去には、さまざまなソースのスタイルがカスケードを管理するのが難しく、最終的に冗長コードを作成しました。 ITCSSやBEMなどの方法でさえ、 @import
ステートメントの位置を正確に制御したり、 !important
ことに頼らなければならないなど、カスケードによってもたらされる課題に直面しています。幸いなことに、いくつかの新しいツールが出てきて、カスケードを効果的に制御することができます。
ドライブ:where
擬似セレクター
:where
。これは、セレクターの特異性が実際にゼロであることを意味します。これは、汎用コンポーネントに非常に役立ちます。
たとえば、使用:where
:
:where(table){ バックグラウンドカラー:タン; }
他のテーブルスタイルがこの前に定義されていても:
テーブル { バックグラウンドカラー:hotpink; } :where(table){ バックグラウンドカラー:タン; }
テーブルの背景色はまだtan
ているためです:where
これにより:where
。
:where
兄弟セレクター:is
逆の効果があります:
:is()
擬似クラスの特異性は、その最も特別なパラメーターの特殊性によって決定されます。したがって、次のように書かれたセレクターは:is()
なしで書かれた同等のセレクターと同じ専門性を持つとは限りません:is()
。 - セレクターレベル4仕様
前の例を続けてください:
:is(table){ -TBL-BGC:Orange; } テーブル { -TBL-BGC:tan; } :where(table){ -TBL-BGC:HotPink; バックグラウンドカラー:var( - tbl-bgc); }
テーブルの背景色はtan
ます。なぜなら:is
table
と同じ特異性があり、 table
その背後にあるからです。しかし、私たちがそれを変更する場合:
:is(table、.c-tbl){ -TBL-BGC:Orange; }
背景色はorange
.c-tbl
なります:is
例:構成可能なテーブルコンポーネント
次のHTMLを使用してテーブルコンポーネントを構築しましょう。
次に、 .c-tbl
を:where
、丸い角を追加します。
:where(.c-tbl){ 境界線崩壊:別々; 境界面:0; テーブルレイアウト:自動; 幅:99.9%; }
テーブルセルは異なるスタイルを使用しています:
:where(.c-tbl thead th){ / * ... */ } :where(.c-tbl tbody td){ / * ... */ }
丸い角とborder-collapse: separate
、私たちは追加のスタイルを追加する必要があります:
:where(.c-tbl tr td:first-of-type){ / * ... */ } / * ... */
これで、一般的なスタイルの前または後に他のスタイルを注入することにより、テーブルコンポーネントのバリエーションを作成できます(メリット:where
'Specialty Elimination):
.c-tbl-パープルth { 背景色:HSL(330、50%、40%) } / * ... */
CSSカスタムプロパティ
data-component
プロパティを使用して、コンポーネントを定義します。
以上がカスケードと戦って、コントロールしないでください!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











先日、Corey Ginnivanのウェブサイトから、この特に素敵なビットを見つけました。そこでは、スクロール中にカードのコレクションが互いに積み重ねられていました。

Google Fontsが新しいデザイン(ツイート)を展開したようです。最後の大きな再設計と比較して、これははるかに反復的です。違いをほとんど伝えることができません

プロジェクトにカウントダウンタイマーが必要だったことはありますか?そのようなことのために、プラグインに手を伸ばすのは自然なことかもしれませんが、実際にはもっとたくさんあります

要素の数が固定されていない場合、CSSを介して指定されたクラス名の最初の子要素を選択する方法。 HTML構造を処理するとき、あなたはしばしば異なる要素に遭遇します...

フレックスレイアウトの紫色のスラッシュ領域に関する質問フレックスレイアウトを使用すると、開発者ツールなどの混乱する現象に遭遇する可能性があります(D ...

新しいプロジェクトの開始時に、SASSコンピレーションは瞬く間に起こります。これは、特にbrowsersyncとペアになっている場合は素晴らしい気分です。

フロントエンド開発でWindowsのような実装方法...
