使用CSS删除图像之间的空间

ste*_*225 78 html css

鉴于:

<img src="..."/>
<img src="..."/>
Run Code Online (Sandbox Code Playgroud)

结果是两个图像之间有一个空格.似乎正常行为是将任意数量的空格,换行符和制表符显示为单个空格.我知道我可以做到以下几点:

<img src="..."/><img src="..."/>
Run Code Online (Sandbox Code Playgroud)

要么

<img src="..."/><!--
--><img src="..."/>
Run Code Online (Sandbox Code Playgroud)

要么

<img src="..."/
><img src="..."/>
Run Code Online (Sandbox Code Playgroud)

或任何数量的其他黑客.有没有办法用CSS删除那个空格?例如

<div class="nospace">
    <img src="..."/>
    <img src="..."/>
</div>
Run Code Online (Sandbox Code Playgroud)

Dan*_*ite 106

display: block在CSS中制作它们.

  • 更好的是,"浮动:离开"它们,因为它们需要彼此相邻.制作`<img>``display:block`的好处是神秘的底部边缘消失了. (30认同)
  • 有关"图像,表格和神秘差距"的更多信息,请参阅https://developer.mozilla.org/en/Images,_Tables,_and_Mysterious_Gaps (3认同)
  • 使用“float:left”就像一个魅力 (2认同)

ale*_*lex 75

几乎无处不在的简单方法是设置font-size: 0容器,前提是您没有任何后续文本节点需要设置样式(尽管在需要时覆盖它是微不足道的).

.nospace {
   font-size: 0;
}
Run Code Online (Sandbox Code Playgroud)

jsFiddle.

您也可以从默认值更改display: inlineblockinline-block.请务必使用<= IE7(可能还有古老的Firefox)所需变通方法inline-block.


Dyl*_*rds 13

我发现的最好的解决方案是将它们包含在父div中,并为该div提供0的字体大小.

  • 很棒的技巧,谢谢 (2认同)

小智 10

我更喜欢这样做

img { float: left; }
Run Code Online (Sandbox Code Playgroud)

删除图像之间的空间


小智 8

我发现对我有用的唯一选择是

font-size:0;
Run Code Online (Sandbox Code Playgroud)

我也在使用overflow,white-space: nowrap; float: left;似乎搞砸了