【发布时间】:2013-02-04 16:21:19
【问题描述】:
CSS 重置是在后续 CSS 样式更改之上还是之下进行?换句话说,一个随机的例子:
如果重置将所有浏览器的字体标准化为 Times New Roman 和 12 号字体,但我随后应用了一个自定义 CSS,使所有标签都以粗体显示。
因此,CSS 重置的目的实际上是在您未自定义样式的元素上强制跨浏览器保持一致性?如果我理解正确,请告诉我。
提前感谢所有答案!
【问题讨论】:
CSS 重置是在后续 CSS 样式更改之上还是之下进行?换句话说,一个随机的例子:
如果重置将所有浏览器的字体标准化为 Times New Roman 和 12 号字体,但我随后应用了一个自定义 CSS,使所有标签都以粗体显示。
因此,CSS 重置的目的实际上是在您未自定义样式的元素上强制跨浏览器保持一致性?如果我理解正确,请告诉我。
提前感谢所有答案!
【问题讨论】:
CSS 重置的目的是帮助您的页面在所有浏览器中看起来一致。这是 Eric Meyer 关于这个主题的一个非常 detailed article。
基本上所有浏览器都有不同的 CSS 表示默认值,但这些默认值并不相同。 CSS 重置文件尝试在所有浏览器中创建一致的基线。
【讨论】:
您几乎回答了自己的问题。除了像在您的示例中那样重置字体之外,它还将边距和填充重置为 0。这有助于构建布局,因为不使用重置样式表而留下的边距和填充会导致布局关闭等。
它可以标准化每个元素,为您的自定义样式做准备。如果您不打算自定义样式,则不应使用它。
还有一种更新的方法,称为 normalize.css。它是重置样式表的替代方法。它不是将所有内容都重置为 0,而是将所有内容预先设置为业内大多数人在一定程度上遵循的标准。
总结和更正您上面的陈述:“因此,CSS 重置的目的实际上是在浏览器中对所有元素施加一致性,以便为自定义样式做准备。”
【讨论】:
CSS 重置是为了尽可能标准化不同浏览器中 HTML 元素的呈现。它创建了一个共同点,您可以在此基础上构建各种样式。重置放置在所有其他样式表之前,因此自定义样式生效。但是,您拥有的自定义样式可能不会涵盖浏览器默认在元素上具有的每个属性,并导致浏览器不一致。
在您的示例中,您有“粗体标签”,因此您有粗体文本,而不是只有“Times New Roman 和大小 12 字体”,但您没有指定 margin 或 line-height元素。如果不同的浏览器对那些未涵盖的样式有不同的解释,并且您没有使用 CSS 重置,您将看到影响您的布局和样式的不一致。
【讨论】: