常见的 CSS Reset 大全

CSS Reset 是一种用于规范化浏览器默认样式的技术,它对于前端开发来说是非常常见也很有用的。通过使用 CSS Reset,我们可以确保不同浏览器在渲染页面时保持一致的样式,从而提高页面的可维护性和可靠性。在本文中,我们将介绍几种常见的 CSS Reset 技术,包括它们的优缺点、使用方法以及示例代码。

1. Eric Meyer Reset

Eric Meyer Reset 最初由 CSS 专家 Eric Meyer 提出,并在 2000 年左右开始广泛使用。这个 Reset 方法通过消除浏览器默认样式中大量的不必要元素和属性,从而让页面更易于定制。其主要特点包括:

  • 将默认的 margin 和 padding 设置为 0
  • 设置所有元素的 font-size 为 1em,并且使用 sans-serif 字体
  • 消除链接的下划线并设置链接颜色为黑色

然而,Eric Meyer Reset 的缺点在于它可能会覆盖一些有用的默认样式,如表单和按钮。因此,它并不适用于所有项目。下面是 Eric Meyer Reset 的示例代码:

----- ----- ---- ----- --- --- --- --- --- --- -- ----------- ---- -- ----- -------- -------- ---- ----- ----- ---- ---- --- ---- ---- ---- -- -- ----- ------ ------- ------- ---- ---- --- ---- -- -- -- ------- --- --- --- --- --- --- --------- ----- ------ ------- ------ -------- ------ ------ ------ --- --- -- -
  ------- --
  -------- --
  ------- --
  -------- --
  ---------- -----
  --------------- ---------
  ----------- ------------
-

---- -
  ------------ --
-

--- -- -
  ----------- -----
-

----------- - -
  ------- -----
-

------------------ ----------------- --------- ------- -
  -------- ---
  -------- -----
-

------ -
  -------- --
-

--- -
  ---------------- -----
-

--- -
  ---------------- -------------
-

----- -
  ---------------- ---------
  --------------- --
-

2. Normalize.css

Normalize.css 是一种比较新的 Reset 技术,由 Nicolas Gallagher 和 Jonathan Neal 发起并维护。与 Eric Meyer Reset 不同,Normalize.css 的目标是使得不同浏览器在样式上尽量一致,而不是完全重置所有样式。它主要做了以下事情:

  • 修复常见的桌面端和移动端浏览器的 bug
  • 重置元素的默认样式并保留有用的样式,如表单和按钮样式
  • 使得样式更加一致并且易于定制

Normalize.css 可以与 Sass 或 LESS 预处理器配合使用,并且可以通过下载或使用 CDN 引入。下面是 Normalize.css 的示例代码:

---
 - ------------- ------ - --- ------- - --------------------------------
 --

-- --------
   -------------------------------------------------------------------------- --

---
 - -- ------- --- ---- ------ -- --- ---------
 - -- ------- ----------- -- ---- ---- ----- ----------- ------- -- ----
 --

---- -
  ------------ ----- -- - --
  ------------------------- ----- -- - --
-

-- --------
   -------------------------------------------------------------------------- --

---
 - ------ --- ------ -- --- ---------
 --

---- -
  ------- --
-

---
 - ------ --- ------ ------- ------------ -- ---
 --

---- -
  -------- ------
-

---
 - ------- --- ---- ---- --- ------ -- ---- -------- ------ --------- ---
 - --------- -------- -- ------- -------- --- -------
 --

-- -
  ---------- ----
  ------- ------ --
-

-- -------- -------
   -------------------------------------------------------------------------- --

---
 - -- --- --- ------- --- ------ -- --------
 - -- ---- --- -------- -- ---- --- ---
 --

-- -
  ----------- ------------ -- - --
  ------- -- -- - --
  --------- -------- -- - --
-

---
 - -- ------- --- ----------- --- ------- -- ---- ---- -- --- ---------
 - -- ------- --- --- ---- ---- ------ -- --- ---------
 --

--- -
  ------------ ---------- ---------- -- - --
  ---------- ---- -- - --
-

-- ---------- ---------
   -------------------------------------------------------------------------- --

---
 - ------ --- ---- ---------- -- ------ ----- -- -- ---
 --

- -
  ----------------- ------------
-

---
 - -- ------ --- ------ ------ -- ------ ---
 - -- --- --- ------- ---- ---------- -- ------- ----- --- ------ --- -------
 --

----------- -
  -------------- ----- -- - --
  ---------------- ---------- -- - --
  ---------------- --------- ------- -- - --
-

---
 - --- --- ------- ---- ------ -- ------- ----- --- -------
 --

--
------ -
  ------------ -------
-

---
 - -- ------- --- ----------- --- ------- -- ---- ---- -- --- ---------
 - -- ------- --- --- ---- ---- ------ -- --- ---------
 --

-----
----
---- -
  ------------ ---------- ---------- -- - --
  ---------- ---- -- - --
-

---
 - --- --- ------- ---- ---- -- --- ---------
 --

----- -
  ---------- ----
-

---
 - ------- ----- --- ----- -------- ---- --------- --- ---- ------ --
 - --- ---------
 --

----
--- -
  ---------- ----
  ------------ --
  --------- ---------
  --------------- ---------
-

--- -
  ------- --------
-

--- -
  ---- -------
-

-- -------- -------
   -------------------------------------------------------------------------- --

---
 - ------ --- ------ -- ------ ------ ----- -- -- ---
 --

--- -
  ------------- -----
-

-- -----
   -------------------------------------------------------------------------- --

---
 - -- ------ --- ---- ------ -- --- ---------
 - -- ------ --- ------ -- ------- --- -------
 --

-------
------
---------
-------
-------- -
  ------------ -------- -- - --
  ---------- ----- -- - --
  ------------ ----- -- - --
  ------- -- -- - --
-

---
 - ---- --- -------- -- ---
 - -- ---- --- -------- -- -----
 --

-------
----- - -- - --
  --------- --------
-

---
 - ------ --- ----------- -- ---- --------- -- ----- -------- --- ---
 - -- ------ --- ----------- -- ---- --------- -- --------
 --

-------
------ - -- - --
  --------------- -----
-

---
 - ------- --- --------- -- ----- --------- ----- -- --- --- -------
 --

-------
----------------
---------------
--------------- -
  ------------------- -------
-

---
 - ------ --- ----- ------ --- ------- -- --------
 --

------------------ -
  ------------- -----
  -------- --
-

---
 - ------- --- ----- ------ ----- -- --- -------- ---- -- --------
 --

--------------- -
  -------- --- ------ -----------
-

---
 - ------- --- ---- -------- -- ---- --- ---
 --

--------------------------- -
  ------ --------
  -------- -----
-

------------------ -
  ------ --------
  -------- -----
-

---------------------- -
  ------ --------
  -------- -----
-

----------------- -
  ------ --------
  -------- -----
-

------------- -
  ------ --------
  -------- -----
-

---
 - -- ------- --- --------- -- ----- --------- ----- -- --- --- -------
 - -- ------ ---- ---------- -- --------- -- -------
 --

---------------------------- -
  ------------------- ------- -- - --
  ----- -------- -- - --
-

-- -----------
   -------------------------------------------------------------------------- --

--
 - --- --- ------- ------- -- ----- -- ---- --- --------
 --

------- -
  -------- ------
-

--
 - --- --- ------- ------- -- --- ---------
 --

------- -
  -------- ----------
-

-- ----
   -------------------------------------------------------------------------- --

---
 - --- --- ------- ------- -- -- ----
 --

-------- -
  -------- -----
-

---
 - --- --- ------- ------- -- -- ---
 --

-------- -
  -------- -----
-

3. Reset.css

Reset.css 是一种相对轻量的 Reset 技术,由人称重工的开发者 Yahoo! 提出。与 Eric Meyer Reset 和 Normalize.css 不同,Reset.css 将所有元素的默认样式都设置为一个共同的基准值。它主要特点包括:

  • 设置 margin 和 padding 为 0
  • 重置默认的字体样式和大小
  • 还原链接样式和表单样式

由于 Reset.css 只是将样式重置到一个基准值,因此可能需要进行更多的额外定制。下面是 Reset.css 的示例代码:

-- ---- - --- ------- --
-- ----- --

----- ----- ---- ----- ------- ------- ------- --- --- --- --- --- --- -- ----------- ---- -- ----- -------- -------- ---- ----- ----- ---- ---- --- ----- ---- ---- ---- -- -- ----- ------ ------- ------- ---- ---- --- ---- -- -- -- ------- --- --- --- --- --- --- --------- ----- ------ ------- ------ -------- ------ ------ ------ --- --- -- -
    ------- --
    -------- --
    ------- --
    -------- --
    ---------- -----
    --------------- ---------
    ----------- ------------
-

---- -
    ------------ --
-

--- -- -
    ----------- -----
-

----------- - -
    ------- -----
-

------------------ ----------------- --------- ------- -
    -------- ---
    -------- -----
-

------ -
    -------- --
-

--- -
    ---------------- -----
-

--- -
    ---------------- -------------
-

----- -
    ---------------- ---------
    --------------- --
-

-- ----- ---- --

---- -
    ------------ ----- ------ ---------- ------ --------- ---- ---- ---------- ------- ---------- ----- ----- -----------
    ------ -----
    ---------- -----
-

--- --- --- --- --- -- -
    ---------- -----
    ------------ -------
-

------ --------- ------- ------ - -- ----------------------- -------------------- --
    ------------ --------
    ---------- --------
    ------------ --------
-


------- ---------- -------- -------- -
    ------ --------
    ---------------- -----
-

--------------- -
    -------- ----
    -------- ------
    ------- --
    ------ -----
    ----------- -------
-

-- ---- ---- - ------- --
------ -
    ------------------- -----
   ---------------- ------
   ----------- -----
-

---------
    ------------
-

4. 总结

在使用 CSS Reset 技术时,我们应该根据项目需要选择合适的 Reset 技术来规范化浏览器的默认样式。如果需要完全控制页面样式,可以选择 Eric Meyer Reset,如果需要快速而不破坏默认样式,可以选择 Normalize.css,如果需要较灵活的 Reset 方案,则可以使用 Reset.css。

总的来说,无论选择哪种 CSS Reset 技术,我们都应该了解它们的优缺点并适度定制,从而提高页面的可维护性和可靠性。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/664deca9d3423812e4dde8c4