如何选择一个适合自己的 CSS Reset 方案?

阅读时长 8 分钟读完

CSS Reset 是一种用于规范化浏览器默认样式的技术,它能够帮助我们在不同浏览器上构建一致的页面展示效果,同时也能够解决不同浏览器间的兼容问题。在前端开发中,选择合适的 CSS Reset 方案至关重要。本文将从以下几个方面详细介绍如何选择一个适合自己的 CSS Reset 方案。

1. 需要重置哪些样式?

不同的 CSS Reset 方案可能会对不同的元素或属性进行重置或者保留默认样式,我们需要明确自己需要哪些样式被重置或者保留,以便选择最合适的方案。

2. 重置的级别

CSS Reset 方案有不同的重置级别,从重置全部样式到只重置部分样式。考虑到自身需求和代码复用性,我们需要权衡选择不同的重置级别。

3. 渐进式增强或者优雅降级

在选择 CSS Reset 方案时需要考虑到网站的渐进式增强或者优雅降级。一些浏览器不支持某些 CSS 样式和属性,此时我们不应该完全重写这些样式,而是应该采用渐进式增强或者优雅降级的方式来解决问题。

4. 浏览器支持的覆盖范围

我们需要考虑选择的 CSS Reset 方案在不同浏览器上的覆盖范围,以确保在不同平台上浏览器默认样式的一致性。

5. 可维护性

最后,我们需要考虑 CSS Reset 方案的可维护性。选择一个不易维护的方案会导致大量的代码修改,而这意味着更高的工作成本和风险。

根据以上几个方面,下面介绍两个比较流行的 CSS Reset 方案。

Normalize.css

Normalize.css 是一个流行的 CSS Reset 方案,它保持了浏览器默认样式的一部分,同时重置和标准化了其他部分的默认样式。Normalize.css 的重置级别相对较高,它会保留浏览器给定的许多有用的样式。同时,它还在各种浏览器之间创建了一致的基础样式。做到了渐进式增强或者优雅降级,可维护性也较高。

示例代码如下:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Eric Meyer's CSS Reset

Eric Meyer's CSS Reset 是另一个流行的 CSS Reset 方案,它采用覆盖所有样式的方式实现重置。它包括了一份全面的重置方案,重置级别相对较高,几乎清除了所有浏览器默认样式。它需要更多的工作量来在之后的开发中保留所需的样式。

示例代码如下:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

总的来说,选择一个合适的 CSS Reset 方案是非常重要的。在长度和易读性方面,最终选择的方案应该适合您团队开发的需求,并且应该能够适应浏览器变化的情况,并帮助您构建一个更好的网站体验。

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

纠错
反馈

纠错反馈

程序员教程

精选优质教程,助你快速提升技术实力

程序员面试题库

海量优质面试题,助你轻松应对技术面试