- ベストアンサー
Firefoxで画像の縦の隙間をなくす方法
- Dreamweaver8を使用してサイト作成中の初心者ですが、Firefoxで画像を縦に並べて表示する際に隙間ができてしまいます。
- 既存のコードに<br>タグを入れていない場所では、IE6、7では隙間なく表示されますが、Firefoxでは隙間が生じます。
- ネットや本で調べて試した結果、問題を解決することができず、助けを求めています。どなたか解決策をご教示いただけませんか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
DOCTYPE宣言はどうなっていますか?それにより、標準準拠・後方互換モードが切り替わります。 本件の場合、Firefox(ver.2/3)での挙動を検証してみたところ: ・HTML 4.01 Transitional(システム識別子付)では隙間はできない ・HTML 4.01 Strict(システム識別子付)では隙間はできる ですので、モードによってこの部分のCSSの解釈には差が出る様です。 下記にどの条件の時にどのモードになるかが一覧にまとめられたお役立ちのサイトがありますので、参考までに。 【参考】http://2xup.org/log/2007/07/27-2111 ただ、質問者様が現在のDOCTYPEを選択されているのには理由がお有りでしょうから(DOCTYPEによってHTMLの書き方も変えなければならない場合がありますから)、DOCTYPEだけをすげ替えれば良いというものではありませんので、その点は誤解されません様に。 もし、pの子要素が質問文のソースの様に、画像しかない(テキストがない)のであれば、一例として、#sidenavi p {~}にline-height: 0;を追加指定する事でいずれのモードでもFirefoxでの隙間を解消する事ができます。 ちなみに、p(段落:ブロック要素、前後に改行を含む)とpの間を空ける為に<br>(インライン内容の強制改行)を使うというのは本末転倒ですので、一行空きにしたいpにclass属性を設けて、classセレクタで下マージンを設定してあげる方が適切です。 #sidenavi p.hoge { margin-bottom: 1em; } <p class="hoge"><a href="jjj/index.html"><img src="image/yyy.jpg" width="245" height="79" border="0"></a></p> という感じで。
お礼
abril様 いつも丁寧で親切な回答を頂き、本当に有難うございます。 #sidenavi p {~}にline-height: 0;を追加したら無事解決しました。 その他頂きました情報を活かし、さらに勉強していきます。 本当に有難うございました。