我正在使用 Normalize css - 为啥它有 40px 填充?

Posted

技术标签:

【中文标题】我正在使用 Normalize css - 为啥它有 40px 填充?【英文标题】:Im using Normalize css - why does it have 40px padding?我正在使用 Normalize css - 为什么它有 40px 填充? 【发布时间】:2013-11-03 19:17:16 【问题描述】:

我已经下载了响应式框架http://996grid.com/,并且在 Normalize.css 中,各种项目的默认设置为 padding: 0 0 0 40px;。例如

menu,
ol,
ul 
    padding: 0 0 0 40px;

dd 
    margin: 0 0 0 40px;

有人可以解释这个原因,因为当我添加一个 ul 时,它会在其上添加 40px...如果我在 normalize 中删除 40px 会影响浏览器支持吗?

感谢您的帮助

【问题讨论】:

如果你想删除填充,你必须将它设置为0px 样式表不会重置,它会正常化。浏览器 CSS 通常会为 ul、dd 等设置填充,但它们会有所不同。这会将其标准化为 40px,这对于此类事情来说是一个合理的值。如果您希望它为 0,请务必更改它。 如果您使用 chrome 检查器检查 ul,您可以看到 -webkit-padding-start: 40px; 对应于 ul, menu, dir。也许其他浏览器使用不同的值(20/30),因此它对其进行标准化以在所有浏览器中实现相同的外观。 【参考方案1】:

在官方 Normalize.css(可在 https://github.com/necolas/normalize.css/ 获得)中,没有这样的填充,但是大多数浏览器无论如何都会添加此填充,以简单地为列表提供一些常规文本的缩进。

如果您想删除它,只需修改提供的 CSS 或在您自己的 CSS 中覆盖它:

menu,
ol,
ul 
    padding: 0;

dd 
    margin: 0;

您可以随意设置自己的文档样式;除了 html 规范中定义的默认样式外,大多数浏览器默认样式只是为了让简单的无样式文档更漂亮。

【讨论】:

【参考方案2】:

根据 Erik Meyer 的说法,它是 Mosaic 的残余物。他在网络平台播客的结尾说episode 139

【讨论】:

以上是关于我正在使用 Normalize css - 为啥它有 40px 填充?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Normalizer::normalize (PHP) 不起作用?

我应该在我的 Bootstrap 项目中使用 normalize.css 吗?

将 normalize.css 添加到 reactjs

如何使用带有 webpack 的 npm install 来使用 normalize.css?

我应该在使用引导 css 时更新 normalize.css 吗?

如何下载和使用Normalize.css?