块元素的normalize.css和垂直边距

时间:2014-09-29 16:40:47

标签: html css normalize

我想象有一个很好的解释,但到目前为止,它让我更恼火而不是帮助。 Normalize.css将1em边距添加到

元素(以及其他一些元素)。虽然我从视觉方面看到了这一点,但这意味着它经常会阻止块元素相互“接触”。我目前正在压倒这一点,但是我很想了解垂直边距的推理,或者我是否有一个技巧可以抵消这种副作用。我确信一些好的想法进入了调整。

p {
    margin: 1em 0; 
}

这是一个复制我的意思的小提琴:

http://jsfiddle.net/d6njL0zn/

谢谢!

2 个答案:

答案 0 :(得分:0)

大多数浏览器都标配了元素上的1em垂直边距。这就是为什么Normalize.css也有它。 Normalize只是在浏览器中使用正常的css默认值,并使它们在所有浏览器中更加一致。

如果您想完全控制css的设置方式,请考虑使用reset.css

答案 1 :(得分:0)

1995年开发的HTML2具有p和pre标签的余量。默认的CSS值是使那些不使用CSS的页面显示与写入时相同的页面。我可能会弄错,但我相信8像素的身体标签的默认边距是微软的想法。