在调整网页布局时,经常会在底部发现莫名其妙多出 10 像素左右的空白,这其实是个很经典的问题。

通过 Chrome 浏览器的开发者工具(审查元素)检查,会发现有一个名为 user agent stylesheet 的样式规则给整个 form 元素设置了 margin-bottom: 1em;。

所谓的 user agent stylesheet,本质上是浏览器内置的默认样式表。如果对这些默认表现不满意,最直接的解决办法就是显式地覆盖这些属性。由于 user agent stylesheet 的优先级较低,只要我们在自定义 CSS 中定义相同的规则,就能将其覆盖掉。
以刚才的问题为例,只需将 form 的 margin-bottom 强制设为 0px:
form {
margin-bottom: 0px;
}
这样一来,底部的多余间距就被清除了,页面布局也能完全按照预期显示。

