我有一个标题div,我希望与窗口顶部齐平。当我在div中包含一个段落时,空间会在窗口顶部和div之间打开。关闭空间的唯一方法是设置段落的样式:
div#header p {
margin: 0;
}
默认情况下,为什么浏览器会为包含段落的div之外的段落创建边距?
答案 0 :(得分:1)
这可能是由于崩溃边距造成的。 MDN has a good article on the topic。基本上,顶部和底部边距一起折叠以在元素之间形成单个边距。这允许指定p {margin-top:10px;margin-bottom:10px;}
并且段落之间仅有10px
个空格(而不是20px
)。
请参阅显示折叠边距与非折叠边距的this example。
中找到更多信息答案 1 :(得分:0)
如果这是一个太大的问题。
将其添加到您的CSS
*
{
margin: 0;
padding: 0;
}
每个浏览器都拥有自己的html标签的默认CSS。例如,在Chrome中,p
标记之前和之后的边距为1em
,等于您设置的font-size
。在Firefox中,margin
0
期望从元素的底部开始,再次1em
。
有重置'样式表,从(几乎所有)元素中删除所有特殊样式(如填充和边距),这样您就可以开始“新鲜”#39;。 Reset.css是一个受欢迎的选择。
答案 2 :(得分:-1)
如果您需要,这里有一些好的重置代码:
/*Remove all the default margin and padding*/
{
margin: 0;
padding: 0;
}
html, body /*so it'll work when you specify 100% height on element*/
{
height: 100%;
}