<img>要素はブロックレベルですか、インラインレベルですか?


163

その<img>要素が両方のように動作する場所を読んだことがあります。正しい場合、誰かが例を挙げて説明してもらえますか?

回答:


189

それは本当です、それらは両方です-より正確には、それらは「インラインブロック」要素です。つまり、テキストのようにインラインで流れますが、ブロック要素のように幅と高さもあります。

CSSでは、要素をdisplay: inline-blockに設定して、画像の動作を複製することができます*。

画像とオブジェクトは「置き換えられた」要素とも呼ばれます。それら自体にはコンテンツがないため、要素は基本的にバイナリデータに置き換えられます。

*ブラウザは技術的に使用していますがdisplay: inline(開発者ツールで見られるように)、画像を特別に扱います。彼らはまだのすべての特性に従いますinline-block


私は常に画像がインラインブロックではなくインライン要素であることを読んでいますが、幅と高さを追加できるため、インラインブロックであることは理にかなっています。
Donato

22
この答えは技術的に正しくありません。正確に言えば、img要素はinline-block実際のinline要素ではありません。これを最新のブラウザで確認するには、画像を右クリックし、[要素を検査]をクリックして、計算されたスタイルを表示しdisplay: inlineます。タグ内でブロックコンテキストが発生していないため、呼び出すのは正しくありませんinline-block。置き換えられたインライン要素の詳細については、クエンティンの回答このMDN記事を参照してください
Maximillian Laumeister、2015

@Maxそのリンクは、置き換えられた要素がインラインであることについては何も言っていません。
DisgruntledGoat 2015

@DisgruntledGoat私が投稿したリンクは、img要素がインラインであるとは言っていません-Google Chrome開発ツールは、img要素をインラインとして表示します。この投稿は、私がこれまでに見つけた唯一の場所で、代わりにそうだと言っていますinline-block。興味深いことに、私は彼らがそうであると言う権威を見つけていませんinline。タグの扱い方は実装に依存するのでしょうか?
Maximillian Laumeister、2015

2
@maxによれば、この、置換要素は、モデルのフォーマットCSSの範囲外です。HTMLまたはCSSの仕様では、画像がインラインであることを指定していません。したがって、ブラウザの内容に関係なく、画像は設定されたとおりに扱われdisplay:inline-blockます。
DisgruntledGoat

53

img要素がある置き換えインライン要素

インライン要素のように動作しますが(そうであるため)、インライン要素に関するいくつかの一般化は要素に適用されませんimg

例えば

一般化:「幅はインライン要素には適用されません」

どのような仕様は、実際に言う:「適用:すべての要素が、非置き換えインライン要素、テーブルの行、行グループを」

画像は置き換えられたインライン要素であるため、適用されます。


13

IMG要素はインラインです。つまり、フロートしない限り、テキストやその他のインライン要素と共に水平方向に流れます。

それらは幅と高さを持っているという点で「ブロック」要素です。ただし、その点では「インラインブロック」のように動作します。


7

ほとんどすべての目的で、幅の設定されたインライン要素と考えてください。基本的に、CSSを使用して画像をどのように表示するかを自由に指定できます。通常、次のようにいくつかの画像クラスを設定します。

img.center {display:block;margin:0 auto;}

img.left {float:left;margin-right:10px;}

img.right  {float:right;margin-left:10px;}

img.border  {border:1px solid #333;}

2

画像を挿入するときはいつでも、画像が元々持っている幅を使用します。その隣に他のHTML要素を追加すると、それが許可されることがわかります。これにより、画像が「インライン」要素になります。


0

それは本当です、それらは両方です-より正確には、それらは「インラインブロック」要素です。つまり、テキストのようにインラインで流れますが、ブロック要素のように幅と高さもあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.