删除无法解释的 img 边距/空格 (CSS)

Posted

技术标签:

【中文标题】删除无法解释的 img 边距/空格 (CSS)【英文标题】:Remove unexplainable img margin/space (CSS) 【发布时间】:2014-01-14 07:26:31 【问题描述】:

在我的 wordpress 主题中包含图像时,img 下方有一些无法解释的图像边距/空间。你可以在这里看到它:http://www.wlanradios.net/logitech-squeezebox-radio/

查看内容内的亚马逊徽标图像或向下滚动并查看带有小缩略图的“Ähnliche WLAN Radios”侧边栏小部件。图像似乎有一点底边距/下方的空间我无法摆脱。我发现了带有萤火虫的 html/css,但没有得到它的边距来自哪里。我其实尝试过

img 
margin:0!important;
padding:0!important;
border:0!important;

覆盖所有可能的边距原因,但没有成功。

边距从何而来,如何去除?

【问题讨论】:

有没有更多选择器的说明符?例如img.class#id ?然后可以进行覆盖。 当然,边距来自父元素,而不是 img 本身。 我可以使用附加类,但我虽然尝试了元素样式<img style="margin:0!important; pading:0!important" >,但没有成功。你看到我正在谈论的图像底部的边距了吗?这很好奇,因为 css 中没有什么可以解决这个问题?! @aldux 它更多的是在 img 元素和以下元素下方的空格。如果我在萤火虫中发现它,我看不到高亮边距。 【参考方案1】:

只要放到那些图片上:

display: block;

更新:

一些解释:img 是一个内联元素,所以它必须像所有内联元素一样处理空格、行高等。我猜你看到的空间实际上是由行高引起的。因此,如果要将 img 保留为内联元素,另一种解决方案是设置其父级 line-height: 0;

【讨论】:

【参考方案2】:

我已经深入检查了这个问题,它有点像干草针之类的东西。

1) 亚马逊图片框 - 问题在于 td 标签创建了 6.71667px 的所有边距,这是强制创建的由 td,th padding 设置为 0.5em

 th, td 
        border-spacing: 3px;
      //Tweak this Padding of 0.5em and you should destroy Amazon Extra Space
            padding: 0.5em;
        border: 1px solid #CCC;
            

您应该能够从 wp-content/themes/ar2-2-b-2-fixed/styles.css

2) 谈到 WLAN Radios Pic 的第二个问题,由于 DIV 标签 Padding 全部设置为 4px,该图像被推送到 WLAN Radio 图片上。

这是问题图片:

亚马逊图片问题解决图片

希望这会有所帮助:)

【讨论】:

感谢您的方法。但问题与填充无关(因为它们是需要的,移除并不能解决问题)。该空间与 img 未定义为像 enguerranws 指出的块元素有关。【参考方案3】:

你试过了吗:vertical-align: middle

【讨论】:

【参考方案4】:

检查 img 元素上的行高,并将其设置为 1。父元素上的行高必须 > 1。

您还可以将这些 img 的显示更改为“块”(以避免行间距)。

【讨论】:

谢谢 - 我试过 img line-height: 1em!important; 但没有成功。 正如我所说,您应该设置为 img : display: block;它工作正常。

以上是关于删除无法解释的 img 边距/空格 (CSS)的主要内容,如果未能解决你的问题,请参考以下文章

删除无法访问的垂直复选框边距

自定义 CSS 以删除 Wordpress 页面上的特定边距

如何删除 CSS 边距

CSS 删除第一个/最后一个元素的边距

html/css - 使用带有 <img> 标签的精灵 - 如何在 Chrome 中删除轮廓?

强制删除 Qt 中的所有水平间距