向粗暴的reset.css说No,如有需要可考虑normalize.css!

不知具体从哪一天起,前端圈子里兴起了CSS Reset,具体的作用就是几乎重置所有元素的默认样式来确保个浏览器默认的渲染是一致的,笔者就曾经遇到过将默认input的边框给reset掉的,很是恼火。CSS Reset有点太过于粗暴、激进。

向粗暴的reset.css说No,如有需要可考虑normalize.css!

CSS Reset 是革命党,CSS Reset 里最激进那一派提倡不管你小子有用没用,通通给我脱了那身衣服,凭什么你body出生就穿一圈margin,凭什么你姓h的比别人吃得胖,凭什么你ul戴一胳膊珠子?于是 *{margin:0;} 等等运动,把人家全给抹平了。看似是众生平等了,实则是浪费了资源又占不到便宜,有求于人家的时候还得贱贱地给加回去,实在需要人家的默认样式了怎么办?人家锅都扔炉子里烧了,自己看着办吧。

Normalize.css是改良派。他们提倡,各个元素都有其存在的道理,简单粗暴地一视同仁是不好的。body那一圈确实挤压了页面的生存空间,那就改掉。给他们制定个规范,确保他们在任何浏览器里都干好自己的活儿。Normalize 相对平和,注重通用的方案,重置掉该重置的样式,保留有用的user agent 样式,同时进行一些bug的修复,这点是reset所缺乏的。

那么在这里就要推荐下Normalize.css啦,现在已经被用于Twitter Bootstrap、HTML5 Boilerplate、GOV.UK、Rdio、CSS Tricks 以及许许多多其他框架、工具和网站上。

相关阅读