目次
いくつかの値の比較
マージンの結合とは、2 つの垂直マージンが交わると 1 つのマージンを形成することを意味します。マージされたマージンの高さは、マージされた 2 つのマージンの高さの大きい方に等しくなります。
置換可能な要素
リンク
ホームページ ウェブフロントエンド htmlチュートリアル CSS の重みと優先度の問題_html/css_WEB-ITnose

CSS の重みと優先度の問題_html/css_WEB-ITnose

Jun 24, 2016 am 11:32 AM

CSS の重みと優先度の問題

いくつかの値の比較

  • 初期値
  • 指定された値
  • 計算された値
  • 値を適用
  • CSS 属性の指定された値は、次の 3 つの方法で取得されます。

      現在のドキュメントのスタイルシートでこの属性に割り当てられた値が最初に使用されます。
    1. 現在のドキュメントのスタイルシートでこの属性に値が割り当てられていない場合、親要素から値を継承しようとします。
    2. 上記 2 つのアプローチが実現できない場合は、この要素の CSS 仕様にあるこの属性の初期値を指定値として使用します
    適用された値 (使用値) は、すべての計算が完了した後に最終的に使用される値です完成しました。 CSS プロパティの最終値を計算するには 3 つの手順があります。

    まず、指定された値は、スタイル カスケード (スタイル シート内で最も重みが高いルールを選択する)、継承 (属性を継承できる場合は親要素の値を取得する)、またはデフォルト値から取得されます。
  • その後、仕様に従って計算値を計算します。
  • 最後に、レイアウト (自動やパーセンテージなどのサイズをピクセル値に変換) を計算し、その結果が適用された値として使用されます。
  • これらの手順は内部で実行され、スクリプトは最終的に適用された値を取得するために window.getComputedStyle のみを使用できます。
  • CSS 2.0 は、属性計算の最後のステップとして計算値のみを定義します。 CSS 2.1 では、親要素の計算値がパーセンテージである場合に、子要素がその高さと幅を明示的に継承できるように、個別のアプリケーション値の定義が導入されました。 レイアウトに依存しない CSS プロパティ (表示、フォント サイズ、行の高さなど) の場合、計算された値は適用された値と同じになります。それ以外の場合は異なります

    優先順位

    優先順位はブラウザーが決定する方法ですどの属性値と一致するか、最も関連性の高い要素が決定され、その要素に適用されます。優先順位はセレクターで構成されるマッチング ルールによってのみ決定されます。

    優先度は、各セレクター タイプによって形成される連結文字列に基づいて計算されます。マッチング式に対応した重みです。

    優先順位が同じ場合、後の CSS が要素に適用されます。

    以下は優先度の高いセレクターのリストです:

    ユニバーサルセレクター(*)
  • 要素(型)セレクター
  • クラスセレクター
  • 属性セレクター
  • 擬似クラス
  • ID選択
  • インラインスタイル
  • !重要なルールの例外リンク

    !重要なルールがスタイル宣言に適用されると、スタイル宣言は宣言リストのどこにあるかに関係なく、CSS 内の他の宣言をオーバーライドします。ただし、!重要なルールは優先度とは関係ありません。 ! important を使用すると、スタイルシートの元のカスケード ルールが変更され、デバッグが困難になるため、推奨されません。

    いくつかの経験則:

    サイト全体の CSS では ! important を決して使用しないでください
  • ! important は、サイト全体または外部 CSS (参照される ExtJ や YUI など) をオーバーライドする必要がある特定のページでのみ使用してください
  • プラグインでは ! important
  • を決して使用しないでください
  • 常に最適化するには、 ! important
  • の代わりにスタイル ルールの優先順位を使用して問題を解決することを検討してください
  • ! important をオーバーライドする方法

    簡単です。 ! important を追加するだけです。 CSS ステートメントを作成し、それをより高い優先度のセレクターに適用します (元のベースに追加のタグ、クラス、または ID セレクターを追加します)
  • または、セレクターを同じに保ちますが、位置を追加する必要があります (優先度の場合)。が同じ場合、後の定義は前の定義をオーバーライドします)。
  • :not 擬似クラス例外

    :not 否定された擬似クラスは、優先度の計算では擬似クラスとはみなされません。実際、セレクターの数を計算するとき、セレクターは通常のセレクターとしてカウントされます。

    DOM ツリー内の距離を無視します

    次のスタイル宣言があります:

    body h1 {  color: green;}html h1 {  color: purple;}
    ログイン後にコピー

    次の HTML に適用される場合:

    <html><body>  <h1>Here is a title!</h1></body></html>
    ログイン後にコピー

    ブラウザはそれを紫色で表示します。つまり、後のものが優先されます。

    マージンの結合

    マージンの結合とは、2 つの垂直マージンが交わると 1 つのマージンを形成することを意味します。マージされたマージンの高さは、マージされた 2 つのマージンの高さの大きい方に等しくなります。

    マージンの結合は最初は少し奇妙に思えるかもしれませんが、実際には理にかなっています。たとえば、いくつかの段落で構成される典型的なテキスト ページを考えてみましょう。最初の段落の上のスペースは、段落の上マージンと同じです。マージンを結合しない場合、後続のすべての段落間のマージンは、隣接する上マージンと下マージンの合計になります。これは、段落間のスペースがページの上部の 2 倍であることを意味します。マージンのマージが発生すると、段落間の上下のマージンがマージされ、どこでも距離が一定になります。

    置換可能な要素

    CSS では、置換可能な要素とは、プレゼンテーションが CSS によって制御されない要素です。これらの外部要素の表現は CSS 仕様に依存しません。 典型的な置換可能な要素には、CSS の重みと優先度の問題_html/css_WEB-ITnose

    CSS は、マージンの計算や auto の値の処理など、置換可能な要素に対して特別な処理を実行する場合があります。

    一部の (すべてではない) 置換可能な要素にはサイズとベースライン自体があり、vertical-align などの一部の CSS プロパティで使用されることに注意してください。

    リンク

  • MDN
  • w3school
  • このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

    ホット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衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

    AIヘンタイを無料で生成します。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

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

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

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

    &lt; datalist&gt;の目的は何ですか 要素? &lt; datalist&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

    この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

    &lt; Progress&gt;の目的は何ですか 要素? &lt; Progress&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

    この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

    &lt; meter&gt;の目的は何ですか 要素? &lt; meter&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

    この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

    &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

    この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

    ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

    この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

    HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? Mar 17, 2025 pm 12:27 PM

    この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

    HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? Mar 17, 2025 pm 12:20 PM

    記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

    HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? Mar 12, 2025 pm 04:05 PM

    この記事では、html5&lt; time&gt;について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

    See all articles