CSS Reset 和 Normalize.css 具体实践用例

阅读时长 8 分钟读完

在前端开发中,CSS 是不可或缺的一部分,它不仅掌控着网页外观的各个方面,还能够影响到网页的性能和用户体验。而在实际的开发中,我们常常会遇到不同浏览器之间的兼容性问题,这时候我们就会用到两种比较流行的 CSS 样式重置方法——CSS Reset 和 Normalize.css。

CSS Reset 是什么?

CSS Reset 是一种基于清空或重置默认样式的方法,它可以通过设置所有 HTML 元素的样式为一致的值,消除不同浏览器间的默认样式差异。CSS Reset 由 Eric Meyer 在2000年首先提出,现在已经有了很多不同的版本和变种。

以下是 Eric Meyer 规定的 CSS Reset 样式:

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

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

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

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

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

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

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

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

-- ------ ----- ---- ----------------- -- --- ------ --
----- -
  ---------------- ---------
  --------------- --
-
展开代码

通过 CSS Reset,我们能够得到一个经过处理的 CSS 样式表,它基本上是将所有元素的默认样式都清空了。接下来,我们就可以根据自己的需求来给元素设置样式了。

不过,CSS Reset 也有一些缺点。比如,对于一些元素而言,其默认样式是有用的,如果我们将它们清空了,可能会导致很多问题。同时,CSS Reset 也比较麻烦,因为需要花费很多时间来设置样式。

因此,在使用 CSS Reset 时,我们需要根据实际需求来选择是否使用它。

Normalize.css 是什么?

Normalize.css 是另一种比较流行的 CSS 样式重置方法,它基于那些有意义并被所有现代浏览器支持的默认样式,并通过增加样式来保持常见元素的一致性。

相对于 CSS Reset,Normalize.css 解决了很多 CSS Reset 无法解决的问题,同时还保留了默认样式。这些默认样式往往依赖于设备和浏览器本身的特性,但 Normalize.css 会使它们表现一致,并增加针对一些特定浏览器的样式。

以下是 Normalize.css 的样式:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

---
展开代码

Normalize.css 通过一个更智能化和灵活的方式来处理 CSS 样式表,而不是仅仅清空所有默认样式。它通过改善和增强默认样式,来提高浏览器之间的一致性,从而改善页面在不同设备上的外观和体验。

那么,该如何选择 CSS Reset 还是 Normalize.css 呢?这要看具体情况。如果你完全不需要默认样式,可以使用 CSS Reset;如果你需要默认样式,可以选择 Normalize.css。

以下是示例代码:

使用 CSS Reset:

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

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

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

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

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

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

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

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

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

-- ------ ------ --
-- --- --
展开代码

使用 Normalize.css:

-- -------------------- ---- -------
--------- -----
------
  ------
    ----- ----------------
    --------- ---------------
    ----- ---------------- --------------------------------------------------
    ----- ---------------- -----------------
  -------
  ------
    ----------- -- -- ------------
    ------- -- ---- ---------
  -------
-------
展开代码

需要注意的是,Normalize.css 需要引用外部样式表。挑选合适的样式表时,建议从官方文档中获取,以保证安全和可靠。

总之,CSS Reset 和 Normalize.css 都是前端开发中常常使用的工具。了解它们的优缺点并正确使用,可以提高开发效率,改善页面的兼容性和用户体验。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67bd9acaa231b2b7ed03ec14

纠错
反馈

纠错反馈