Html 箱型-为什么页眉的边距与粘性页脚一起拧紧
我正在尝试使用下面的粘性页脚解决方案Html 箱型-为什么页眉的边距与粘性页脚一起拧紧,html,footer,sticky-footer,css,Html,Footer,Sticky Footer,Css,我正在尝试使用下面的粘性页脚解决方案 *{ 保证金:0; } html,正文{ 身高:100%; } .包装纸{ 最小高度:100%; 高度:自动!重要; 身高:100%; 保证金:0自动-4em; } .footer、.push{ 高度:4em; } h1{ 边缘顶部:1米; } 此页眉用粘性页脚拧紧 你的网站内容在这里 版权所有(c)2008 如果要操作边距/填充属性,请始终将其保存为添加显示:内联块属性,而不是使用内联元素。将它添加到您的h1标签中,您的问题将得到解决 这里有一篇关于这
*{
保证金:0;
}
html,正文{
身高:100%;
}
.包装纸{
最小高度:100%;
高度:自动!重要;
身高:100%;
保证金:0自动-4em;
}
.footer、.push{
高度:4em;
}
h1{
边缘顶部:1米;
}
此页眉用粘性页脚拧紧
你的网站内容在这里
版权所有(c)2008
如果要操作边距/填充属性,请始终将其保存为添加显示:内联块
属性,而不是使用内联元素。将它添加到您的h1
标签中,您的问题将得到解决
这里有一篇关于这个问题的解释
编辑:我有一个解释给你
在CSS中,我们有类似于“折叠边距”的东西。W3C就是这样定义它的:
在本规范中,表达式折叠边距表示两个或多个框(可能相邻或嵌套)的相邻边距(无非空内容、填充或边框区域,或将它们分隔开)组合形成单个边距
只有在以下情况下,页边距才相邻:
- 两者都属于参与相同块格式上下文的流内块级别框
- 无线框、无间隙、无填充和无边框将它们分隔开(请注意,为此忽略某些零高度线框。)
- 两者都属于垂直相邻的长方体边缘,即形成以下一对:
- 框的上边距及其第一个流入子项的上边距 框的底部边距和其下一个同级流的顶部边距
- 如果父级具有“自动”计算高度,则最后一个流入子级的底部边距及其父级的底部边距
- 未建立新块格式上下文且计算的“最小高度”为零、计算的“高度”为零或“自动”且无流内子项的框的上、下边距
- (清晰的解释+示例)
综上所述,有许多不同的方法来解决这个问题。例如,将
display:inline block
、float:left
或甚至border:1px black
属性添加到包装器元素或h1
标记将修复“问题”。当然这不是一个真正的问题,在某些情况下,折叠边距非常有用。您可以添加溢出:自动代码>或溢出:隐藏
给你的包装器div。如果你想把h1
作为块元素,这可能是一个更好的解决方案。我的问题似乎是由以下原因引起的:引入了一些规则,以便在所有有边距的元素之间产生一致的间距。如果没有崩溃的保证金规则,保证金在某些情况下将应用两次
这在中得到了更全面的解释。谢谢,但我不是在寻找解决方案,我只是想了解为什么会发生这种情况。谢谢,这通常是有用的信息,但对解决我的问题没有帮助。我想了解为什么标记上的边距会影响.wrapper容器。我已经更新了answser。现在有了解释。希望有帮助!谢谢-技术上我自己已经找到了答案,但是你在答案上花了更多的精力,所以我会接受它。