目次
CSS優先度
セレクターの優先順位
スタイルシステムは以下から始まります一番右のセレクター左側のルールに一致します。現在のセレクターの左側に他のセレクターがある限り、スタイル システムは、ルールに一致する要素が見つかるか、不一致により終了するまで、左に移動し続けます。
ボックスモデル関連の CSS 属性要素のコンテンツ、幅と高さ (Width/Height)、パディング、ボーダー、マージン。
Float 属性
スタッキングコンテキスト
z-index
積み重ね順
パフォーマンス
ピクセル レンダリング パイプライン
ホームページ ウェブフロントエンド htmlチュートリアル CSS をさらに深く掘り下げて、Web 開発の「ピッチ」を軽減_html/css_WEB-ITnose

CSS をさらに深く掘り下げて、Web 開発の「ピッチ」を軽減_html/css_WEB-ITnose

Jun 24, 2016 am 11:32 AM



通常、CSS を学ぶと、簡単に習得できるように感じますが、実際のアプリケーションで埋めるのが難しいさまざまな「落とし穴」に遭遇することがよくあります。混乱と不満の解決策として、この記事では CSS の優先順位やコンテキストのスタックなどの多くの高度な機能について詳しく説明します。 CSS についてより深く理解できるようになります。

CSS優先度

優先度は、どの属性値が要素に最も関連しているかを判断することによってブラウザが決定し、要素に適用するものです。優先度はセレクターから構成されるマッチング ルールによってのみ決定されます。 P タグにクラス (Class) を追加すると、クラス内の一部の属性は実行後に変更されず、CSS セレクターに優先順位の問題が発生します。

セレクターの優先順位

一般的なセレクターの種類:

  • インライン スタイル (例: ...)

  • ID セレクター (ID セレクター) #id; など

  • クラスセレクター (Class)、.class {...}、[href='']、:hover; など
  • タグ選択 div,:before など
  • 各タイプのセレクターの重みは異なり、各セレクターの優先順位は重みによって決定されます。

    インライン スタイル: 1,0, 0,0
  • ID セレクター: 1,0 ,0
  • クラスセレクター: 1,0
  • タグセレクター: 1

図に示すソースの優先順位 Show

スタイルシステムは以下から始まります一番右のセレクター左側のルールに一致します。現在のセレクターの左側に他のセレクターがある限り、スタイル システムは、ルールに一致する要素が見つかるか、不一致により終了するまで、左に移動し続けます。

CSS 優先順位ルール:

各セレクターには重みがあり、重みが大きいほど優先順位が高くなります
  • 重みが等しい場合、最初に表示されるスタイル シート設定よりも後から表示されるスタイル シート設定が優先されます。 ;
  • 作成者のルールは閲覧者のルールよりも優先されます。つまり、Web ページ作成者によって設定された CSS スタイルは、ブラウザによって設定されたスタイルよりも優先されます。後で指定する CSS スタイルと同様です。
  • 同じ属性設定セットでは、「! important」とマークされたルールが最も優先されます
  • 共通 CSS モデル
  • ボックス モデルは CSS テクノロジーで使用される考え方です。 Webデザインでよく使われるモデルです。

  • ボックスモデル関連の CSS 属性要素のコンテンツ、幅と高さ (Width/Height)、パディング、ボーダー、マージン。

    CSS では、幅と高さはコンテンツ領域 (要素) の幅と高さを指します。パディング、境界線、余白を増やしてもコンテンツ領域のサイズには影響しませんが、要素のボックス全体のサイズは大きくなります。ボックスの両側に 10 ピクセルのマージンと 5 ピクセルのパディングがあると仮定します。要素ボックスを 100 ピクセルにしたい場合は、コンテンツの幅を 70 ピクセルに設定する必要があります。必須の属性は次のとおりです:

    基本属性

    幅/高さ

      パディング
    • マージン
    • ボーダー
    • アウトライン
    • オフセット属性
    • Top/Left/Bottom/Right
      • と .NET WinForm の違い:

    • デフォルトでは、Width/Height には Padding が含まれません
      • 4 つの値の順序Margin/Padding 属性の左上 (時計回り)
      • すべてはボックスモデルとみなすことができます

    Vertical Margin merge

    の垂直マージンがが 12px の場合、2 つの

    間の垂直距離はどれくらいですか?常識的には 12 + 12 = 24px であるはずですが、答えは依然として 12px です。縦方向の余白が重なるため、大きい方の余白が覆われます。

    Position 属性は、要素の配置タイプを指定します。この属性は、要素のレイアウトを確立するために使用される位置決めメカニズムを定義します。任意の要素を配置できますが、絶対要素または固定要素は、要素自体のタイプに関係なく、ブロック レベルのボックスを生成します。相対的に配置された要素は、通常のフローではデフォルトの位置からオフセットされます。以下は、Position 属性の値の範囲です:

    静的な通常のフロー レイアウト (通常のフロー)、デフォルト値。位置決めを行わない場合、要素は通常のフローで表示されます (上、下、左、右、または z-index 宣言は無視されます)。

      • Relative は、offset 属性を持つ通常のフロー レイアウトをサポートし、通常の位置を基準にして相対的に配置された要素を生成します。したがって、「left:20」は要素の LEFT 位置に 20 ピクセルを追加します。
      • Absolute はコンテナ要素内の絶対配置レイアウトであり、静的配置以外に最初の親要素を基準にして配置される絶対配置要素を生成します。要素の位置は、「left」、「top」、「right」、「bottom」属性によって指定されます。

      • 表示範囲内の絶対配置レイアウトを修正し、ブラウザ ウィンドウを基準にして配置された絶対配置要素を生成します。要素の位置は、「left」、「top」、「right」、「bottom」属性によって指定されます。

    Float 属性

    float 属性は、要素がどの方向にフロートするかを定義します。歴史的に、このプロパティは常に画像に適用され、テキストが画像の周りを回り込むようにしていましたが、CSS では任意の要素をフローティングにすることができます。フローティング要素は、要素のタイプに関係なく、ブロック レベルのボックスを作成します。

    スタッキングコンテキスト

    z-index スタックスペース特性を提供し、サブ要素のレンダリング順序に影響を与える構造は、スタッキングコンテキストと呼ばれます。

    ブラウザは、次のルールを満たす DOM 要素にスタッキング コンテキストを割り当てます。

    • ルート要素 (html)

    • 「Positioned」要素 (位置: 絶対または相対) で、指定された z-index 値が自動ではありません

    • flex 項目で、指定された z-index 値が自動ではありません要素

    • 不透明度が 1 未満の要素

    • none 以外の変換値を指定する要素

    • Normal 以外のミックスブレンドモード値を指定する要素

    • フィルターを指定する要素none以外の値

    • 分離値がisolateである要素を指定

    • will-change属性に上記リストのいずれかの属性を値とする要素を指定

    • -webkit-overflowを持つ要素を指定-scrolling value は touch

    z-index

    積み重ね順

    • DOM ツリー構造によれば、積み重ねられたコンテキストを持つ要素はツリー構造を形成します。

    • スタッキングコンテキスト内の要素は、z-index に基づいて順番にスタックされます。 z-index が大きい方が優先

    • z-index 0 レベルの要素のうち、スタックコンテキストを持つ要素のスタック順序が最初

    • 上記の条件が区別できない場合は、 DOM ツリーはスタック順序を決定するために使用されます。

    パフォーマンス

    ピクセル レンダリング パイプライン

    パフォーマンスを向上するには、構築パイプラインのすべての要素に注意を払う必要があります。

    • スタイル

      • スタイルの選択を減らす 複雑さプロセッサーの

      • スタイル計算を実行する必要がある要素の数を削減します

    • レイアウト

      • ほぼすべてのレイアウトはドキュメント全体の範囲内で発生します。

      • フレックスボックスを使用して古いレイアウトモデルを置き換えます

      • 強制同期レイアウトイベントの発生を回避します

      • 急速な連続レイアウトを回避します

      • レイアウトのトリガーを可能な限り回避します

    • ペイント

      変換と不透明度を除き、属性を変更すると、描画レイヤーまたはグラデーション要素の CSS セレクターのパフォーマンスがトリガーされます

      • セレクターの右端が、このセレクター (キー セレクター) のキー条件になります

      • ブラウザはセレクターを右から左に一致させるため、できるだけ具体的な条件を使用する必要がありますおそらく右端です。

      • * ルールの使用は避けてください

      • セレクターはできるだけ短くする必要があります

    • ID セレクターの前に修飾子を追加しないでください

      クラス セレクターを修飾するためにタグ セレクターを使用する必要はありません
    • 元のリンク: http://slides.com/colinhan/deck-2-3#/5

    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

    < Progress>の目的は何ですか 要素? < Progress>の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

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

    < datalist>の目的は何ですか 要素? < datalist>の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

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

    < meter>の目的は何ですか 要素? < meter>の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

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

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

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

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

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

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

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

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

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

    Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Apr 04, 2025 pm 11:54 PM

    GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

    See all articles