• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:画像タグについて)

画像タグについての正解な入力方法とは?

このQ&Aのポイント
  • 画像タグについての正しい入力方法とは、改行せずに横に並べてタグを入力することです。
  • これにより、ブラウザできれいに表示され、隙間なく画像が並びます。
  • 画像タグ以外でも、改行せずに横に入力するタグがあります。適切な入力方法を確認しましょう。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

例えばこの記述を例にとると <img src="A" > <img src="B" > <img src="C" > <img src="D" > img要素はインライン要素なので、隣接する文字には実は見えない匿名インラインボックスというものが生成されます。 この匿名インラインボックスを視覚化してみると・・・ <img src="A" >【匿名インラインボックス】改行【/匿名インラインボックス】<img src="B" >【匿名インラインボックス】改行【/匿名インラインボックス】<img src="C" >【匿名インラインボックス】改行【/匿名インラインボックス】<img src="D" > こんな感じになります。 そしてこの匿名インラインボックス内では連続した複数の改行やスペースは一つの半角スペースに置き換えられてしまいます。これが余白の原因です。 改行しないで記述する場合だとこの匿名インラインボックスが発生しないために余白が表示されず、結果として表示結果が変わってくるということです。 例えば見やすく改行したい場合には・・・ <img src="A" ><img src="B" ><img src="C" ><img src="D" > こんな感じにタグの途中で改行して書いたり、 <img src="A" ><!-- --><img src="B" ><!-- --><img src="C" ><!-- --><img src="D" > コメントアウトで隙間を埋めたりして書いたりすることができます。

thankyou_e
質問者

補足

ご回答ありがとうございます。追記で「匿名インラインボックス」について質問させてください。 >img要素はインライン要素なので、隣接する文字には実は見えない匿名インラインボックスというものが生成されます。 >そしてこの匿名インラインボックス内では連続した複数の改行やスペースは一つの半角スペースに置き換えられてしまいます。これが余白の原因です。 Q匿名インラインボックスとはインライン要素タグを入力した後、「改行・半角スペースを入力することで」発生するものなのでしょうか?それとも、インライン要素のタグを入力したと「同時に」発生するものでしょうか? ネットで匿名インラインボックスについて検索してみたのですが、なかなか理解できるページが見つからず、 苦戦しております。 お返事頂けましたら、幸いです。

その他の回答 (6)

  • toast5
  • ベストアンサー率37% (239/638)
回答No.7

ひとつのHTMLページを、ひとつの団地だと思ってください。 団地は「フロア」をタテに積むことでできています。 「部屋」は各フロア内にヨコに並んでいます。 「フロア」なしにいきなり「部屋」を置くことはできません。 「部屋」は必ず「フロア」内にあります。 フロアが「ブロックレベル要素」。 部屋が「インライン要素」。 >それはどうやって見分けるのでしょうか? こういう疑問もそうですが、 無理に理解しなくても、やってれば自然に理解できます。

thankyou_e
質問者

お礼

>こういう疑問もそうですが、 無理に理解しなくても、やってれば自然に理解できます。 そういうものなのですね… >フロアが「ブロックレベル要素」。 部屋が「インライン要素」。 簡単にご説明頂きましたおかげで楽な気持になりました! ご回答ありがとうございました!

回答No.6

>匿名インラインボックスとはインライン要素タグを入力した後、「改行・半角スペースを入力することで」発生するものなのでしょうか? はい。 厳密に言えば普通の文字列でも発生します。 例外として、以下のような時にはp要素内の最初と最後には匿名インラインボックスは生成されません。 これは要素内の始まりと終わりの連続した改行・空白文字は無視されるためです。 <p> <img src="A" > <img src="B" > <img src="C" > <img src="D" > </p> 表示結果は 【半角スペース】画像【半角スペース】画像【半角スペース】画像【半角スペース】画像【半角スペース】 とならずに 画像【半角スペース】画像【半角スペース】画像【半角スペース】画像 となります。 >同じように半角スペースが表示されているのにブラウザでレイアウトが崩れるタグ(今回のようなimgタグ)と崩れないタグがあるんでしょうか? リファレンスを調べるとだいたいインライン要素かブロック要素と書いてあると思います。 改行すると隙間が空くのはインライン要素です。 http://w3g.jp/xhtml/dic/img

thankyou_e
質問者

お礼

だいたい理解できました。後は実践あるのみですね。 何度もご回答頂きましてありがとうございました!

  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.5

HTMLでは、「改行(および半角スペースは、いくつ連続しても)半角スペース 1個分で表示」されます。したがって、img タグの後ろで改行した場合、当然半角スペースが入ります。 可読性で言えば改行した方が見やすいですよね。これは正解|不正解というよりも、スペースを空けたくないところでは改行しない、ということでよいのでは? (念のため確認したところ IE , FireFox , Safari にて同じく改行はスペースされます)

thankyou_e
質問者

お礼

>HTMLでは、「改行(および半角スペースは、いくつ連続しても)半角スペース 1個分で表示」されます。したがって、img タグの後ろで改行した場合、当然半角スペースが入ります。 だとすると、imgタグ以外でも改行した場合半角スペースが表示されているということでしょうか? そうした場合、同じように半角スペースが表示されているのにブラウザでレイアウトが崩れるタグ(今回のようなimgタグ)と崩れないタグがあるんでしょうか?つかめません…。 奥深いですね。勉強になりました。 ご回答ありがとうございました。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

どうしても改行をいれたければ <img src="A" alt="" ><img src="B" alt="" ><img src="C" alt="" ><img src="D" alt=""> とか?

thankyou_e
質問者

お礼

ご回答ありがとうございました☆ 隙間を作らない記述方法があったんですね。 勉強になりました!

  • mori1115
  • ベストアンサー率50% (1/2)
回答No.2

一番有名なのはモダンコーディング(xhtml)で書いた場合のliタグでしょうか。 IEの場合に隙間が生じます。 ---------例------------------- HTML <ul> <li><img src="A" ></li> <li><img src="B" ></li> <li><img src="C" ></li> </ul> CSS li { display:inline; } ------------------------------ 今回の場合、文脈から勝手に判断して誠に失礼なのですがhtmlで書かれていると思われますので説明は割愛させて頂きます。詳細に知りたい場合は、”html li 隙間”で調べればたくさん出てくると思います。 隙間が生じるのはブラウザ(IE)のバグなんです。縦に並べるのが不正解パターンと書かれてますが、不正解ではありません。正しいコーディングです。 ただ、ブラウザ(IE)のバグで隙間ができるだけです。 どのタグがとか覚える必要はないですよ。 覚えておかなければならないのは、 ○正しいコーディングをしているのに予期しない隙間ができた。その場合は改行をなくすとなおった○ ということでしょう。このような経験があったことを記憶しておくことが大切です。 そうすれば仮に別のタグで起こった場合も対応できるはずです。 がんばってください。

thankyou_e
質問者

お礼

ご回答ありがとうございました。 >どのタグがとか覚える必要はないですよ。 覚えておかなければならないのは、 ○正しいコーディングをしているのに予期しない隙間ができた。その場合は改行をなくすとなおった○ ということでしょう。このような経験があったことを記憶しておくことが大切です。 そうすれば仮に別のタグで起こった場合も対応できるはずです 「html li 隙間」で検索してみるとたくさんの検索結果が出ました。 「ぶち当たったら調べる」なるほど! インライン要素について全然つかめていませんが、前に進めそうです。 ありがとうございました。

  • torayoshi
  • ベストアンサー率62% (910/1449)
回答No.1

画像を横に並べた場合、img要素をスペースで改行を入れると、 画像の周り(右と下)に余白が生じるからだと思います。 これは他の要素などと併用したりすると、意図したレイアウトにならないなどの弊害を生んだりします。 >> また、<img src="">タグ以外で~ インライン要素のほとんどそうではないですか?

thankyou_e
質問者

お礼

「インライン要素」という言葉を初めて聞きました! ネットで検索してみたのですが、なかなかつかめません。 インライン要素というのは結構たくさんあるんですね… 少しずつ勉強したいと思います。 ご回答ありがとうございました☆