不同浏览器下的 CSS Reset 初体验

阅读时长 14 分钟读完

在前端开发中,我们经常需要使用 CSS Reset 来重置浏览器的默认样式。但是,不同浏览器的默认样式也不尽相同,因此需要针对不同浏览器进行不同的 CSS Reset。本文将介绍不同浏览器下的 CSS Reset 初体验,并提供一些指导意义和示例代码。

不同浏览器的默认样式

在开始使用 CSS Reset 之前,我们需要了解不同浏览器的默认样式。下面是一些常见浏览器的默认样式:

Chrome

Firefox

Safari

Internet Explorer

可以看到,不同浏览器的默认样式有所不同,这也导致了在不同浏览器中显示的页面可能会有差异。因此,我们需要使用 CSS Reset 来重置浏览器的默认样式,以便在不同浏览器中显示一致的页面。

CSS Reset 的作用

CSS Reset 的作用是重置浏览器的默认样式,使得所有浏览器下的元素样式表现一致。CSS Reset 一般包括以下几个方面:

  1. 设置元素的 margin 和 padding 为 0;
  2. 设置元素的 border 为 0;
  3. 设置所有元素的 font-size 和 line-height 为 0 或者一个较小的值;
  4. 去掉所有链接的下划线。

不同浏览器下的 CSS Reset

下面是一些常见的 CSS Reset,针对不同浏览器进行了不同的重置。

Eric Meyer’s Reset

Eric Meyer’s Reset 是最早的 CSS Reset 之一,它针对大多数元素进行了重置,但是没有对表单元素进行重置。这个 Reset 的代码如下:

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

Normalize.css

Normalize.css 是一个比较流行的 CSS Reset,它不仅重置了浏览器的默认样式,还修复了一些常见的浏览器兼容性问题。Normalize.css 的代码如下:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Yahoo! Reset

Yahoo! Reset 是 Yahoo! 开发团队提供的 CSS Reset,它与 Eric Meyer’s Reset 类似,但是对表单元素也进行了重置。这个 Reset 的代码如下:

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

使用 CSS Reset 的注意事项

在使用 CSS Reset 的过程中,需要注意以下几个问题:

  1. 不要过度使用 CSS Reset,否则可能会破坏浏览器的默认样式,导致一些不必要的问题;
  2. 使用 CSS Reset 的同时,需要保持一定的灵活性,根据实际情况进行调整;
  3. 在使用 CSS Reset 的同时,需要进行兼容性测试,以确保在不同浏览器中都能够正常显示。

示例代码

下面是一个使用 Normalize.css 的示例代码:

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

结语

本文介绍了不同浏览器下的 CSS Reset 初体验,并提供了一些指导意义和示例代码。在实际开发中,需要根据实际情况选择合适的 CSS Reset,并进行兼容性测试,以确保在不同浏览器中都能够正常显示。

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

纠错
反馈

纠错反馈