CSS2仕様のheightプロパティを読み取りているときに、次のことが発生しました。
適用対象:置換されていないインライン要素、テーブル列、および列グループを除くすべての要素
<img>
置換されたelement( )またはインラインelement(<button>
、 )が何であるかは理解しています<a>
が、置換されていないインライン要素の例を見つけるのに問題があります。
ほとんどの実用的な目的では、「置換」を「埋め込み」と読むのが最善です。したがって、「置換されていない要素」とは、外部コンテンツをその場所に表示するのではなく、そのようにレンダリングされる単なる要素です。
「置換されていないインライン要素」という表現には、それ自体の定義はありません。単に、置換されていない要素とインライン要素の両方である任意の要素を指します。など<a>
。HTML のほとんどの要素は置換されていません。置換されていない要素は、単に置換された要素ではない要素です。
ただし、CSS 仕様では、「置換された要素」という概念の一般的な特徴付けだけがあり、そのような要素の決定的なリストはありません。HTML は CSS とは独立して進化するため、これは理解できます。
コンセプトは時代とともに多少変化しています。CSS 1 仕様では、「HTML では、IMG、INPUT、TEXTAREA、SELECT、および OBJECT 要素が置換要素の例になる可能性がある」と述べられています。新しい仕様では、フォーム フィールドは含まれなくなりました。これは HTML5 ドラフトに反映されており、レンダリングセクションでは非置換要素の下にフォーム コントロールが明示的にリストされています。それによると、唯一の置き換えられた要素は、画像、ビデオ、アプレット、または HTML5 キャンバスなどの外部コンテンツを HTML ドキュメントに埋め込む要素のみです。ただし、刷新されたmenu
要素についても言及されています (ブラウザー コントロールをエコーする方法なので、外部コンテンツも埋め込まれます)。
この変更は、ブラウザーの開発を反映しています。初期のブラウザーは、CSS の影響を受けない方法でシステム ルーチンを使用してフォーム フィールドを実装しました。そのようなアプローチはまだいくつか残っていますが、現在ではフォーム フィールドはほとんど CSS でフォーマットできるため、置き換えから非拡張に効果的に変更されています。要素を置き換えました。
David Baronは、彼の Web サイトでこれについて説明しています。
インライン要素には、置換インライン要素と非置換インライン要素の 2 種類があります。一般に、置換されていない要素はコンテンツがドキュメントに含まれている要素であり、置換された要素はコンテンツがドキュメントの外部にある要素です。たとえば、コードでは次のようになります。
にアクセスして詳細を確認し
<a href="http://www.w3.org/">World Wide Web Consortium</a>
てください...a
要素の内容は「World Wide Web Consortium」です。置換された要素は、コンテンツが外部ソース (object
orimg
要素など) から取得された要素です。ただし、インライン ボックス モデルに関する限り、定義は上で説明したとおりですが、表示タイプ
inline-table
を持つ要素inline-block
(後者はフォーム要素に対応するために CSS3 で提案されているタイプです) は置き換えられた要素と見なされます。
置換されていないインライン要素の良い例はspan
、strong
、i
、b
、em
などです。
インデックスで置換された要素の定義を見つけることができます。
画像、埋め込みドキュメント、アプレットなど、コンテンツが CSS 書式設定モデルの範囲外にある要素。たとえば、HTML IMG 要素のコンテンツは、多くの場合、その「src」属性が指定する画像に置き換えられます。置き換えられた要素には、多くの場合、固有の寸法 (固有の幅、固有の高さ、および固有の比率) があります。たとえば、ビットマップ イメージには、絶対単位で指定された固有の幅と固有の高さがあります (この値から固有の比率を明らかに決定できます)。一方、他のドキュメントには固有のサイズがない場合があります (たとえば、空白の HTML ドキュメント)。
ユーザーエージェントは、それらの次元が機密情報を第三者に漏らす可能性があると考えられる場合、置き換えられた要素には固有の次元がないと見なすことができます。たとえば、HTML ドキュメントがユーザーの銀行残高に応じて固有のサイズを変更した場合、UA は、そのリソースに固有のサイズがないかのように振る舞いたいと思うかもしれません。
置き換えられた要素のコンテンツは、CSS レンダリング モデルでは考慮されません。
置換されていないインライン要素は、インラインであり、上記に準拠していないものです。大雑把に言うと、普通にスタイリングできるテキストを含む(または含むことができる)要素です。( a
、b
、cite
、def
、em
など)