すべての法的文書は、構造ツリー要素、属性の兄弟要素などの祖先を使用して、要素を選択するためのセレクターを作成します。これが CSS 継承 の核心です。継承は、ある要素から子孫の要素に属性値を渡すために使用されるメカニズムです。要素にどの値を使用するかを決定するとき、ユーザー エージェントは継承だけでなく、特異性や宣言自体のソースも考慮する必要があります。このプロセスは カスケード と呼ばれます。
この記事では、特異性、継承、カスケードという 3 つのメカニズムの関係について説明します。
特殊性
同じ要素を異なる方法で選択できます。ただし、ユーザー エージェントはルールごとにセレクターの特異性を計算し、その特異性をルールの各宣言に追加します。要素に 2 つ以上の競合する属性宣言がある場合、最も高い特異性を持つ宣言が優先されます。
特異度の計算ルール:
1) セレクターで指定された各 ID 属性値に対して、0100 を追加します
2) セレクターで指定された各クラス属性値、属性選択、または疑似クラスに対して、0010 を追加します
3)セレクターで指定された個々の要素と擬似要素には、0001 を追加します
4) 結合子とワイルドカード セレクターは、特異性には何も寄与しません
重複する選択の場合、複数のルールが満たされる場合、これらのルールは累積的に計算されます。 0011 の特異性は 0001 よりも優れており、0100 は 0022 よりも優れています。これは、値が左から右に順序付けされているためです。
質問: 次のセレクターは同じ要素を指します。コンテナーの色は何にすべきですか?
div.container div.bright{background: #996699;} div.bright{background: #99CCCC;} div#id216{background: #FFFF66;} #id216{background: #CC3333;} div.container div#id216{background: #333399;}
特異性を調べてください。答えは次のとおりです: 0022、0011、0101、0100、0112
注: 実際、すべてのスタイルの競合解決は階層化によって処理されます。
これまで、0から始まる特産品だけを見てきました。一般に、最初の 0 はインライン スタイル宣言用に予約されており、他のすべての宣言よりも具体的です。
<div class ="bright" id ="id216" style="background:#003300"></div>
場合によっては、特定のステートメントが他のすべてのステートメントを上回るほど重要である場合があり、これらのステートメントの最後のセミコロンの前に挿入することが許可されます。マークすることが重要です。
りーす
スタイルシートを追加すると! important の場合、インライン競合スタイルは無効となり、重要なスタイルが優先されます。
継承
継承メカニズムに基づいて、スタイルは指定された要素だけでなく、その子孫要素にも適用されます。
一般に、ほとんどのボックス モデル プロパティ (マージン、パディング、背景、境界線を含む) は継承できません。その理由は、これらのプロパティが継承されるとドキュメントがさらに混乱するためです。
継承された値には特別性がまったくなく、特別性が 0 ですらない。 (専門性 0 は専門性がないより強いです)
ワイルドカード セレクターを無差別に使用する場合に考えられる問題の 1 つは、ワイルドカード セレクターはどの袁術にも一致する可能性があるため、継承を短絡する効果があることがよくあることです。
カスケード
等しい特異性を持つ 2 つのルールが同時に同じ要素に適用される場合、ブラウザは カスケード を通じて競合を解決します。
CSS のベースとなるアプローチは、スタイルをすべてにカスケードすることであり、これは継承と特異性の組み合わせによって行われます。カスケード ルール:
1) 特定の要素に一致するセレクターを含む関連ルールをすべて検索します。
2) この要素に適用されるすべての宣言を明示的な重みで並べ替えます。 ! important フラグのあるルールは、 ! important フラグのないルールよりも重みが高くなります。発言の重みは5段階を考慮しています: (重みの大きい順)
1. 読者からの重要な発言
2. クリエイティブスタッフからの重要な発言
3. クリエイティブスタッフからの通常の発言
4. 通常の発言読者より
5. ユーザーエージェント宣言
3) 特定の要素に適用されるすべての宣言を特異性によって並べ替えます。特異性が高い要素は、特異性が低い要素よりも大きな重みを持ちます。
4) 特定の要素に適用されるすべての宣言を出現順に並べます。宣言がスタイル シートまたはドキュメント内で後から現れるほど、その重みは大きくなります。 。スタイル シート内にインポートされたスタイル シートがある場合、一般に、インポートされたスタイル シートにある宣言が最初に来て、メイン スタイル シート内のすべての宣言が最後に来ると考えられます。
注: マルチクラス セレクターは、異なるクラス名をスペースで区切りますが、カスケードの規則に従って、要素内のクラスの順序は関係ありませんが、スタイル シートの位置に関係します。宣言。
#id216{ background: #990033 !important;}
赤、青、黄色は、競合する背景色属性を設定します。ただし、ボックスによって表示される最終的な色は、HTML 内のこれら 3 つのクラスの順序とは関係ありません。宣言スタイルシートは次のとおりです。
<div class = "box red blue yellow"></div>
ボックスによって表示される最終色は宣言の順序に関係しており、最終表示は青色の背景色です。

強力な機能と優れたユーザーエクスペリエンスを備えたWebサイトを構築するには、HTMLだけでは十分ではありません。次のテクノロジーも必要です。JavaScriptは、Webページに動的とインタラクティブ性を与え、リアルタイムの変更がDOMを操作することで達成されます。 CSSは、美学とユーザーエクスペリエンスを向上させるために、Webページのスタイルとレイアウトを担当しています。 React、Vue.JS、Angularなどの最新のフレームワークとライブラリは、開発効率とコード組織構造を改善します。

ブール属性は、値なしでアクティブ化されるHTMLの特別な属性です。 1.ブール属性は、無効化された入力ボックスを無効にするなど、存在するかどうかによって、要素の動作を制御します。 2.彼らの実用的な原則は、ブラウザが異なっているときに属性の存在に応じて要素の動作を変更することです。 3.基本的な使用法は、属性を直接追加することであり、高度な使用法はJavaScriptを介して動的に制御できます。 4.一般的な間違いは、値を設定する必要があると誤って考えており、正しい執筆方法は簡潔にする必要があります。 5.ベストプラクティスは、コードを簡潔に保ち、ブールのプロパティを合理的に使用して、Webページのパフォーマンスとユーザーエクスペリエンスを最適化することです。

HTMLコードは、オンラインバリデーター、統合ツール、自動化されたプロセスを使用するとクリーンになります。 1)w3cmarkupvalidationserviceを使用して、HTMLコードをオンラインで確認します。 2)リアルタイム検証のためにVisualStudiocodeにhtmlhint拡張機能をインストールして構成します。 3)HTMLTIDYを使用して、建設プロセスでHTMLファイルを自動的に検証およびクリーニングします。

HTML、CSS、およびJavaScriptは、最新のWebページを構築するためのコアテクノロジーです。1。HTMLはWebページ構造を定義します。2。CSSはWebページの外観に責任があります。

HTMLの機能は、Webページの構造とコンテンツを定義することであり、その目的は、情報を表示するための標準化された方法を提供することです。 1)HTMLは、タイトルやパラグラフなどのタグや属性を使用して、Webページのさまざまな部分を整理しています。 2)コンテンツとパフォーマンスの分離をサポートし、メンテナンス効率を向上させます。 3)HTMLは拡張可能であり、カスタムタグがSEOを強化できるようにします。

HTMLの将来の傾向はセマンティクスとWebコンポーネントであり、CSSの将来の傾向はCSS-in-JSとCSShoudiniであり、JavaScriptの将来の傾向はWebAssemblyとServerLessです。 1。HTMLセマンティクスはアクセシビリティとSEO効果を改善し、Webコンポーネントは開発効率を向上させますが、ブラウザの互換性に注意を払う必要があります。 2。CSS-in-JSは、スタイル管理の柔軟性を高めますが、ファイルサイズを増やす可能性があります。 CSShoudiniは、CSSレンダリングの直接操作を可能にします。 3. Webassemblyブラウザーアプリケーションのパフォーマンスを最適化しますが、急な学習曲線があり、サーバーレスは開発を簡素化しますが、コールドスタートの問題の最適化が必要です。

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。1。HTMLは、Webページ構造を定義し、2。CSSはWebページスタイルを制御し、3。JavaScriptは動的な動作を追加します。一緒に、彼らは最新のウェブサイトのフレームワーク、美学、および相互作用を構築します。

HTMLの将来は、無限の可能性に満ちています。 1)新機能と標準には、より多くのセマンティックタグとWebComponentsの人気が含まれます。 2)Webデザインのトレンドは、レスポンシブでアクセス可能なデザインに向けて発展し続けます。 3)パフォーマンスの最適化により、応答性の高い画像読み込みと怠zyなロードテクノロジーを通じてユーザーエクスペリエンスが向上します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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

WebStorm Mac版
便利なJavaScript開発ツール

ホットトピック









