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

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

画像タグについて

画像タグについて テキストエディタにHTML(タグ)を入力してホームページの作成を目指して勉強しています。 ボタンの画像を横一列で4つ並べる場合のでタグの入力の仕方なんですが、 使用しているテキストでは改行せずに横に並べてタグを入力していきましょう。 となっています。 正解→<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="" >タグ以外でも,改行しないで横に入力するタグはあるのでしょうか? それはどうやって見分けるのでしょうか? よろしくお願いいたします。

  • HTML
  • 回答数7
  • ありがとう数7

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

  • ベストアンサー
回答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
質問者

お礼

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

関連するQ&A

  • HTMLのIMGタグについて

    HTMLのimgタグで(1)と(2)のようにした場合、表示が異なります。 (1)のほうが画像間のスペースが広くなります。また(2)の場合でも ほんの少しスペースが開くようです。 (1) <img src="image1"> <img src="image2"> (2) <img src="image1"><img src="image2"> HTMLは文章の構造タグなので(1)でも(2)の場合でも、改行は関係ないので 同じ表示になるべきなのではないでしょうか? なぜ異なった表示になるのでしょうか。 また画像間のスペースを0にしたいのですが、何か方法を教えてください。

    • ベストアンサー
    • HTML
  • apeboardのタグ使用に関して

    apeboardで画像を貼りつけたいのでタグを有効にするためにboardini.cgiのファイルの中の タグを使用するかどうか、とimgタグを使用するかどうかの部分をonにしてアップして <img src="画像アドレス">で投稿すると画像は表示されすんですが、その前に <img src="画像アドレスがそのまま表示">≪画像≫といった感じで表示されてしまうんです。 ソースを見てみると &lt;img src="画像アドレス"&gt;<img src="画像アドレス">となっていました。 どうしたら画像の前に表示されてしまうタグをなくせるんでしょうか。 教えて下さい。よろしくお願いします。 (ちなみに<b>などのタグはきちんと使用出来ました)

    • 締切済み
    • CGI
  • HTMLタグについての質問です。

    HTMLタグについての質問です。 <img src="A" > Aに入力する部分についてなのですが、挿入したい画像がフォルダの中に入っている場合は <img src="フォルダ名/画像名" >となると思いますが、 挿入したい画像がフォルダ(1)の中のフォルダ(2)の中に入っている画像だとすると、 <img src="フォルダ(1)/フォルダ(2)/画像名" >となると思い、入力すると画像が表示されず、 「×」と表示されました。 試しに<img src="フォルダ(2)/画像名" >と入力するとちゃんと画像が表示されました。 imgタグに入力するのは画像をが入っている直接のフォルダ※だけでいいのでしょうか? (※直接のフォルダ=今回の例だとフォルダ(2)) 皆さんはどこのフォルダまで入力されてますか? 画像が入っているフォルダ(フォルダ(2))が入っているフォルダ(フォルダ(1))も入力されていますか? よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • 大きい画像を横に並べる方法

    自身のイラストサイトを作っているのですが、分からないことがあります。 イラストをimg srcタグで次々に横に並べて、 横スクロールバーでイラストを見ていく というデザインにしたいのですが、 (<img src=""><img src=""><img src="">…というふうに) 1つ500ピクセルくらいの大きさのあるイラストを並べるので、 勝手に次の画像が改行?されてしまいます。 画像がずれることなく、横スクロール内に収められる方法はありませんか? ホームページ作りに関してはあまり知識はないのですが、 どなたかご存知の方いらっしゃいましたら、よろしくお願いします。 ちなみに使っているサーバーはロリポップです。

  • 画像を重ねて表示したい

    画像を表示するタグで<img src="a.gif"><img src="b.gif">と書くと、横に並んで表示されます。ごく当たり前か。。 んで、このa.gifとb.gifを重ねて表示したいです。a.gifを手前、b.gifを奥というかんじです。 2つの画像は同じ大きさです。 何かいい方法ありませんか?アドバイスお願いします。 連続の質問で申し訳ありません。

    • ベストアンサー
    • HTML
  • htmlタグ打ちホームページで画像表示トラブルが・・・

    こんにちは。 ホームページ作りで困っています。 現在htmlのタグ打ちでホームページを作っていて、画像を何枚か表示しているのですが、その画像がブラウザの表示領域の右端で勝手に改行されてしまいます。 自動改行禁止のタグをうっても解消されません。スクロールはオートに設定してあるのですが、縦スクロールは出るのに横スクロールがでません。 テキストを右端に表示して横スクロールバーを表示しても、元の表示領域の端にあたる位置で勝手に改行されてしまいます。 あの手この手を調べてやってみたのですが、解決できません。 解決方法をご存知の方がみえましたら、ご教授願えませんでしょうか。 宜しくお願い致します。

  • Objectタグでgifを載せようとしたらテキストボックスになる。

    HTMLにObjectタグを使ってGif画像を載せようとしているのですが・・・ <object date="button/replay.gif" type="image/gif" classid="C3EAF164-E06A-11D2-B5C9-0050041B7FF6" id="Replay" name="replay" border="0" width="123" height="83"> <param・・・・(割愛) </object> このようなタグを書いたところ(改行はここに載せるために加えました。実際には改行はここまで入ってません)、画像が表示されず、何故か複数行テキストボックスが出てきてしまいました。 Gif画像を表示させるにはどうしたらよいでしょうか。 何故にテキストボックスがでてくるのでしょうか。。。 objectタグの奥深さに負けそうです。 どうぞご教授くださいますよう宜しくお願いいたします。

    • ベストアンサー
    • HTML
  • 画像がIEで表示されない・・・。

    ホームページを作ろうと思っています。 それで、今は作成中です。 順調に画像も表示させられていました。 そのときに使っていたブラウザは、 Firefox です。 でも、それをIEで表示しようとすると 表示されないのです。 HTMLの初心者ですが、きちんと <img src="-----.bmp">と入力しました。 あと、Firefox では、きちんと改行されていたのに IEで起動すると4文字くらいですぐに改行されてしまいます。 僕は何を間違えたのでしょうか。 二つの原因と、対策法をよろしくお願い致します。

  • pタグとimgタグについて

    【やりたいこと】 手順1.pタグによる文章 imgタグによる解説画像 手順2.pタグによる文章 imgタグによる解説画像 つまり、各手順に対しての解説画像をはっていこうと考えています。 【タグ】 <p>手順1.「メニューを選択」→「ファイルを保存」<img src="説明画像"></p> <p>手順2.「保存場所の選択」<img src="説明画像2"></p> として組んでいます。 【得られる結果】  手順1.「メニューを選択」→「ファイルを保存」 説明画像1  手順2.「保存場所の選択」 説明画像2 と当然、横並びになります。 画像の横にテキストを配置とかできるのわかるのですが、 【求める結果】  手順1.「メニューを選択」→「ファイルを保存」       説明画像1  手順2.「保存場所の選択」       説明画像2 という形に持っていきたいのです。 【変更後のHTML】  <p>手順1.「メニューを選択」→「ファイルを保存」</p>  <p><img src="説明画像"></p>  <p>手順2.「保存場所の選択」></p>  <p><img src="説明画像2"></p> と組むのがいいのでしょうか? imgのcssのvertical-alignではできないと感じたもので…。 ご教授お願いします。

    • ベストアンサー
    • CSS
  • textareaに画像を表示したい

    textareaの入力支援を作成しています。 PHPで画像のディレクトリを開き別窓などに一覧表示させ、 その画像をクリックでjQueryでテキストエリアへタグを挿入。 <textarea id="test"> あああ <img src="hoge.jpg"> いいい </textarea> ↑のようにIMGタグを挿入する状態までは実装させることが出来るのですが、 UI的に、このIMGタグを画像(サムネ)として表示させたいと考えています。 <textarea id="test"> あああ ■(←画像) いいい </textarea> テキストエリアを監視して置換するなど方法はありそうなのですが そもそもテキストエリア内で画像を表示させることができるのでしょうか? 何かいいアイディア、あるいはプラグイン等がありましたら教えてください。

専門家に質問してみよう