• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:firefoxで、ソースを改行すると空きができる件)

firefoxでソースを改行すると空きができる件

このQ&Aのポイント
  • firefoxでソースを改行すると表示に隙間ができる問題が発生しています。ソースフォーマットを適用すると、一行で書かれていたソースが改行され、タグとタグの間に半角スペースのような隙間ができます。
  • ie7ではこの問題は発生せず、ソースが改行されても隙間はできません。しかし、firefoxでは改行されたタグとタグの間に少しの余白が出来てしまいます。
  • ソースフォーマットを頻繁に適用するため、改行を消すのは手間です。そこで、cssを使用して余白を調整しようと試みましたが、改行をなくさないとfirefoxでは隙間が発生するようです。この問題の対処方法についてアドバイスをいただきたいです。

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

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

IEは、しばしばウェブ標準に反する挙動をするので誤解しますが、 【引用】____________ここから ここで、ソース文書中で語間に空白類が複数連なっている場合、PRE要素を除いて、レンダリング結果の語間スペース調整は全く異なるものになるという点に注意されたい。 特にユーザエージェントは、語間スペースの出力処理に際しては、連続する空白類の入力があった場合は1つにまとめてしまう必要がある。 これは、lang属性やHTTP "Content-Language"ヘッダフィールド([RFC2616]の14.12参照)、ユーザの設定、等による言語情報が存在しない場合であっても、可能かつ必要な動作である。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[9.1 空白類( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/text.html#h-9.1 )]より  ということで、これは正統な処理です。IEが間違っている。<img><object>も共にインライン要素ですから、そうでなければまずいです。これは、次のような例を考えるとわかるでしょう。 <p>  my name is  ORUKA1951. </p>  というソースを表示したとき、my name isOROKA1951.じゃまずい!!  基本的にひとつの段落ないしブロックに入るべきものですから <p>  <img><img><img> </p>  となるべきです。それでも消したい場合は <p>  <img><!-- --><img><!-- --><img> <p> とか、 <p>  <img  ><img  ><img> <p> とか・・ <p class="imageLine">  <img>  <img>  <img> <p> として p{clear:left;} p.imageLine img{  float:left; } あるいは、 p.imageLine { display:table-cell; *display:inline; /* IE */ *zoom:1;/* IE */ } いずれにしても、文法的には、<img><img>が正しいです。私はそもそもそのような画像の並べ方はしません。そうしなければならないと言うことは、必ず文法や文書構造上の問題があります。(画像を読み込まないユーザーエージェントで代替テキストを表示させて意味が通じますか?)  実際には、あなたの<img><object>が文書構成上、どのようにマークアップすべきかがわかりませんので、具体的な対策は示せませんが、画像を敷き詰めるなら、スタイルシートでfloatを使うなり、display:block;にするなり・・もあるでしよう。

hiyokomoti
質問者

お礼

ご回答ありがとうございます。 ものすごく知識がある方ですね!色々調べた際に載っていたことや知らなかったことをまさに総まとめしてくださったような回答です。 本当にありがとうございました!

関連するQ&A

専門家に質問してみよう