# CSS Reset vs CSS normalize
## CSS Reset
讓各個瀏覽器的CSS樣式有一個統一的基準,而實現這一基準最主要的方式就是「清零」。
* **[Reset CSS](https://meyerweb.com/eric/tools/css/reset/):** 此為 Eric Meyer 的版本
* **[HTML5 Reset Stylesheet](http://html5doctor.com/html-5-reset-stylesheet/):** HTML5 Doctor 網站修改自 Eric A. Meyer 的版本。
* **[CSS Reset](https://clarle.github.io/yui3/yui/docs/cssreset/):** YUI Library,由 Yahoo UI Library v3 所提供的 CSS Reset 版本。
做法是把所有瀏覽器最不一致的地方強制歸 0,可以看到最一開始那一大串 html tag 的 margin、padding、border、outline 全都設為 0。
- **優點:** 統整、重置了各個瀏覽器的樣式設定。
- **缺點:** 必須全部重新做設定,比較沒有彈性,而且在使用開發者工具時會看到一大坨的繼承鏈(inheritance chain)。
## CSS normalize
因為 reset.css 重置了各個瀏覽器的樣式設定,使得有些有用、常用標籤的默認樣式必須要重新設定,因為這個問題,有人開發出了 Normalize.css,Normalize.css 只是一個很小的CSS文件,但它在預設的HTML元素樣式上提供了跨瀏覽器的高度一致性。
**[Normalize.css](https://necolas.github.io/normalize.css/)**
1. 保留有用的瀏覽器默認設置,而不是將其刪除。
2. 為廣泛的 HTML 元素提供一般化的樣式。
3. 修復瀏覽器自身的bug並保證各瀏覽器的一致性。
4. 透過微妙的改善提高可用性,優化CSS可用性。
5. 有詳細的文檔來解釋代碼。(每個樣式都有註解是處理什麼問題。)
---
## 來源
1. https://ithelp.ithome.com.tw/articles/10196528
2. https://kknews.cc/zh-tw/code/mlr6vp9.html