【问题标题】:HTML5 <figure> margin/paddingHTML5 <figure> 边距/内边距
【发布时间】:2013-04-10 00:33:43
【问题描述】:

如果 HTML5 元素 figure 里面有图像,它似乎会添加一些边距/填充。如果您在图形周围添加边框,您可以在元素内看到一个小填充。

<figure>
    <img src="image" alt="" />
</figure>

我通过编写* { margin: 0; padding: 0 } 来使用 CSS 重置所有边距和填充

有人知道怎么处理吗?请看一下这个小提琴:http://jsfiddle.net/74Q98/

【问题讨论】:

标签: html css


【解决方案1】:

这不是 &lt;figure&gt; 错误 - 这是 &lt;img&gt; 元素的正常行为

要修复它试试这个 - DEMO

img {
    border: 1px solid green;
    display: block;
    vertical-align: top;
}

更新

默认情况下,任何图像都呈现为内联(如文本),因此下方的小额外空间是所有文本行所具有的空间(即qp 等)

以上答案结合了两种解决问题的方法。所以基本上你可以只使用其中之一:

img { display: block; }

img { vertical-align: top; }

【讨论】:

  • 我很好奇,因为vertical-align: bottom;middle 也会产生相同的结果(而且display: block; 似乎没有必要):这种行为的原因是什么?为什么vertical-align: baseline; 会产生额外的空间?
  • 啊哈,我明白了,它与文本的实际字母完美对齐:jsfiddle.net/74Q98/3
  • 总体意见:上述所有工作,但我更喜欢vertical-align:bottom; - 它似乎更好地描述了我想要完成的事情......我不喜欢显示块,因为我完全改变了图像在流程中的行为......
猜你喜欢
  • 1970-01-01
  • 2012-09-27
  • 2011-08-10
  • 1970-01-01
  • 2015-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-12
相关资源
最近更新 更多