我正在使用 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 吗?
如何使用带有 webpack 的 npm install 来使用 normalize.css?