多数の画像タグを含むdivがあります。以下に例を示します。
<div style="margin: 0; padding: 0; border: 0;">
<a href="/view/foo1"><img src="foo1.jpg" alt="Foo1" /></a>
<a href="/view/foo2"><img src="foo2.jpg" alt="Foo2" /></a>
<a href="/view/foo3"><img src="foo3.jpg" alt="Foo3" /></a>
</div>
タグの間に空白があるため、ブラウザは画像間に空白を表示します(Chromeは4pxを決定します)。 >と<を直接隣り合わせずに、画像間に空白を一切表示しないようにブラウザに指示するにはどうすればよいですか?ブラウザーが使用することを決定したものに加えて、文字間隔が適用されることを知っているので、負の値であっても役に立たない。基本的には、Twitterのホームページの下部にあるようなものを探しています。私は彼らのコードを見て、彼らは順不同リストを使用しています。私はそれを行うことができましたが、これらの画像の間の空白を除去する方法がないように見える理由の技術的な説明が欲しいです。
img {margin:0;padding:0;float:left}
を追加してみてください
つまり、margin
とpadding
のブラウザのデフォルトのimg
とfloat
を削除します。
何らかの理由でそれをしたい場合:
float
sを使用せず、そして;ここからソリューションを使用できます。
私はそれ以来わずかに改良しました。
letter-spacing: -1px
はSafariを修正することです。
div {
font-size: 0;
letter-spacing: -1px
}
<div style="margin: 0; padding: 0; border: 0;">
<a href="/view/foo1"><img src="http://dummyimage.com/64x64/444/fff" alt="Foo1" /></a>
<a href="/view/foo2"><img src="http://dummyimage.com/64x68/888/fff" alt="Foo2" /></a>
<a href="/view/foo3"><img src="http://dummyimage.com/64x72/bbb/fff" alt="Foo3" /></a>
</div>
レイアウトをいじらず、コードの書式設定を保持する最も簡単なソリューション:
<div style="margin: 0; padding: 0; border: 0;">
<a href="/view/foo1"><img src="foo1.jpg" alt="Foo1" /></a><!--
--><a href="/view/foo2"><img src="foo2.jpg" alt="Foo2" /></a><!--
--><a href="/view/foo3"><img src="foo3.jpg" alt="Foo3" /></a>
</div>
間隔は、インライン要素であるため、画像を移動させます。それらを積み重ねたい場合は、順序付けられていないリストを使用できます(Twitterと同様)。これにより、各画像がブロック要素内に配置されます。
インライン要素はテキストとともにインラインで表示されます。
すべてのアンカーをfloat-leftにし、margin-leftを-1に設定することもできます
Apacheでページを提供している場合は、Google PageSpeed Moduleを使用できます。これには、空白を折りたたむために使用できるオプションがあります。
http://code.google.com/speed/page-speed/docs/filter-whitespace-collapse.html
PageSpeedのより「危険な」オプションを使用する必要はありません。
CSSで空白を削除する方法については、この質問の回答も参照してください。
空白はセル間に影響を与えないため、テーブルを使用するのが正しい方法のようです。