首页 > web前端 > js教程 > 重置或不重置 - 那是CSS问题

重置或不重置 - 那是CSS问题

William Shakespeare
发布: 2025-03-04 00:35:09
原创
734 人浏览过

To Reset or Not Reset -- That's the CSS Question

关键要点

  • CSS 重置可通过去除大多数样式(如字体、行高、边距、填充和边框)为不同浏览器提供一致的样式起点。但是,它也会增加页面大小,并需要重新设置所有元素的样式,这会进一步增加文件大小。
  • 虽然 CSS 重置可以最大限度地减少浏览器兼容性问题,但它并不能消除浏览器测试的必要性,因为有必要解决各种设备上的错误和漏洞。它们也不能保证所有设备上的像素完美渲染,因为不同的浏览器渲染页面方式不同。
  • 是否使用 CSS 重置的决定应该基于其对特定项目的实用性,而不是作为一种开发习惯。开发人员应该评估 CSS 重置是否真正有益,或者是否造成了不必要的工作。作为一个实验,开发人员可以尝试从他们的网站中删除重置样式,看看是否会产生显着差异。

每个网络浏览器都使用一个基本样式表。当您不提供自定义 CSS 时,它确保 HTML 能够合理地呈现。您知道那种情况:未访问链接为蓝色,已访问链接为紫色,粗体标签为粗体,h1 标题文本更大等等。不幸的是,厂商喜欢让我们的生活复杂化,每个浏览器都使用不同的基础样式。那么,您如何确保您的自定义 CSS 不受特定设备上实现的默认样式的影响呢?答案是 CSS 重置。它们去除大多数样式,以便元素在不同浏览器中一致地呈现。通常,所有字体和行高都恢复为 100%,边距和填充设置为 0px,边框被移除,有序/无序列表变得没有样式。 Eric Meyer 的 CSS 重置是最早的之一,也是最著名和最常用的。 HTML5 doctor 的 HTML5 重置样式表也可以帮助设置较新的元素样式。还有其他一些——CSSReset.com 提供了大量选择和文档。您使用 CSS 重置吗?您应该使用吗?

我查看了 30 个网站的随机集合,大多数网站都使用了 CSS 重置。其优势显而易见:1. 它们提供了一个空白画布;应用的任何样式(几乎)肯定都是您自己的。 2. 开发可以更合乎逻辑:您是在添加样式,而不是删除或修改样式。 3. 可以最大限度地减少浏览器兼容性问题。

尽管有这些优点,但我并不使用 CSS 重置。实际上,这并不完全正确——我经常使用基本的边距和填充重置,因为默认值很少有用:```

  • { padding: 0; margin: 0; }
    <code></code>
    登录后复制

这会影响每个标签,一些开发人员会告诉您这会导致混乱或更慢的 CSS 处理。我还没有遇到过这种情况成为问题的情况。我对 CSS 重置的主要问题是:额外的页面大小 大多数 CSS 重置会添加大约 2KB 的代码(未压缩)。这听起来可能不多,但在我的大多数 CSS 文件很少超过 10KB 时,这是一个很大的开销。额外的努力 CSS 重置需要您重新设置所有元素的样式——这会进一步增加文件大小。有时,我对浏览器的默认设置感到满意。字体粗细、行高、链接轮廓、项目符号圆点和其他样式通常都很好。如果不是,我会相应地更改它们。不同的浏览器以不同的方式渲染页面 没有两个浏览器是相同的,但有些人期望在所有设备上都能实现像素完美的渲染。CSS 重置通常会给人一种这种目标是可以实现的印象。事实并非如此。就我个人而言,我不介意 Firefox 中的标题比 IE 大 2 像素,或者 Opera 对“粗体”的理解比 Chrome 的略重一些。CSS 重置永远无法为您解决这些问题。它们并不能消除浏览器测试的必要性 我不相信 CSS 重置有助于浏览器一致性。您必须在尽可能多的设备上测试您的网站或应用程序,以便您可以解决由您的代码或浏览器引起的错误和漏洞。它们不适合我的工作流程 我不喜欢 CSS 框架。我很少遇到通用的 CSS 方法适用于正在构建的网站的情况。我可能会从其他地方复制一些代码片段,但总的来说,我更喜欢从空文件开始。它仍然是我的代码,我知道出现错误时该去哪里。虽然它并不复杂,但 CSS 重置是一个框架,它可能会产生意想不到的结果。它们不会节省时间 CSS 重置是否曾经为您节省了数小时的开发时间?在我被一群愤怒的 CSS 重置粉丝攻击之前,我并不是说您永远不应该使用它们。它们可能对您有用,这很好。我怀疑它们对那些刚接触 Web 开发的人也很有用。但是,您是否添加 CSS 重置是因为它真正有用,还是它已经成为一种开发习惯?作为一个测试,尝试从您的网站中删除重置样式,看看是否会产生显著差异。您使用 CSS 重置吗?您最近是否采用了或放弃了这种做法?它们有帮助吗?关于 CSS 重置的常见问题解答 (FAQ)

CSS 重置的主要目的是什么?

CSS 重置是一种用于减少浏览器在默认行高、边距和标题字体大小等方面不一致的方法。CSS 重置背后的总体原因是,它允许开发人员从干净的底板开始,并使用更少的意外浏览器不一致来设置他们的网站或 Web 应用程序的样式。它基本上强制所有浏览器将其所有样式重置为 null,从而避免浏览器特定的默认值。

CSS 重置在今天仍然相关吗?

是的,CSS 重置在今天仍然相关。虽然现代浏览器在默认样式方面变得更加一致,但仍然存在可能出现差异的情况,尤其是在处理更复杂的 desain 时。CSS 重置可以帮助确保您的设计在不同的浏览器中看起来尽可能相似。

如何实现 CSS 重置?

实现 CSS 重置非常简单。您只需将 CSS 重置样式包含在 CSS 文件的顶部。这确保了在应用任何自定义样式之前应用重置样式。有几种流行的 CSS 重置可用,例如 Meyer 的重置 CSS 和 Normalize.css,您可以将其复制并粘贴到您的 CSS 文件中。

CSS 重置和 Normalize.css 之间的区别是什么?

CSS 重置旨在通过将所有 HTML 元素的样式设置为“零”或 null 来减少浏览器不一致。另一方面,Normalize.css 是 CSS 重置的现代、支持 HTML5 的替代方案。它会制作一系列合理的默认值,而不是“取消样式”所有内容。它还会纠正一些传统重置范围之外的一些常见错误。

CSS 重置会影响我的网站的性能吗?

CSS 重置可能会稍微增加 CSS 文件的大小,这可能会影响网站的性能。但是,影响通常很小,并且通常被使用 CSS 重置的好处所抵消,例如提高跨浏览器一致性。

是否需要为每个项目使用 CSS 重置?

并非严格要求为每个项目使用 CSS 重置。但是,通常最好使用一个,尤其是在大型项目中,因为它可以帮助避免由浏览器默认值引起的意外样式问题。

我可以自定义 CSS 重置以适应我的需求吗?

是的,您当然可以自定义 CSS 重置以适应您的需求。事实上,调整重置样式以更好地匹配项目的需要是一种常见的做法。例如,您可能希望修改某些元素的重置样式,或者为重置未涵盖的元素添加其他样式。

使用 CSS 重置的一些替代方法是什么?

除了使用 CSS 重置之外,还有其他方法可以处理浏览器不一致。一种流行的替代方法是使用像 Normalize.css 这样的 CSS 规范器。另一种方法是使用像 Bootstrap 或 Foundation 这样的 CSS 框架,它们通常包含自己的 CSS 重置或规范版本。

CSS 重置如何影响用户体验?

CSS 重置可以通过确保您的网站或 Web 应用程序在不同的浏览器中看起来一致来改善用户体验。这可以使您的设计更易于预测和使用,从而带来更好的整体用户体验。

我可以在像 Sass 或 Less 这样的预处理器中使用 CSS 重置吗?

是的,您可以在像 Sass 或 Less 这样的预处理器中使用 CSS 重置。您通常会在主 Sass 或 Less 文件的顶部包含重置样式,就像在常规 CSS 文件中一样。

以上是重置或不重置 - 那是CSS问题的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板