快速业务通道

推荐一份不错的reset.css

作者 佚名技术 来源 CSS技术 浏览 发布时间 2012-03-01

时间过得真快,离 Reset CSS 研究(八卦篇) 已经 3 个多月了。废话少说,赶紧将技术篇写完吧。

回顾与反思

第一份 reset css 是 Tantek 的 undohtml.css, 很简单的代码,Tantek 根据自己的需要,对浏览器的默认样式进行了一些重置。

Eric 的也是如此。

YUI 除了 cssreset, 还配套有 cssfonts 和 cssbase. cssreset 清除默认样式,cssfonts 和 cssbase 则将一些元素的默认样式重设回来。

很长一段时间,* { margin: 0; padding: 0; }和 YUI cssreset 模糊了我对 reset 的理解,让我认为 reset 就应该清除掉所有样式,将一切归零。

后来阅读 Eric 的博客,发现 Eric 并不期望大家下载他的 reset.css 后直接拿去用。而是期待能根据具体需求,适量裁剪和修改后再使用。

世间的事总会有些戏剧化,Eric 的期待没有如意。大家都想得到通用解决方案,期待银弹。在这种渴求下,YUI cssreset 很彻底很干净,广为流传。

更戏剧化的是,由于 YUI 的 cssfonts 和 cssbase 只考虑了西欧文字,对汉字的考虑不多。这导致国内用户大部分只会用 cssreset. 比喻成武林秘籍的话,我们一直在用残卷。

调节显示器,有一个“重置为出厂设置”的选项。这有两重含义:一是去掉当前的设置,二是还原为出厂时的设置。CSS Reset 也一样,第一步是清除浏览器的默认样式,第二步是重设浏览器的默认样式。很明显,* { margin: 0; padding: 0; }和 YUI cssreset 偏向于第一步。

这两步并不是截然分开的。reset 的初始意图,是想减少各种浏览器下默认样式的差异。对于没有差异的默认样式,则可以根据情况,选择性重置或不重置。比如 strong, 默认都是粗体,这符合预期,就可以不重置。又比如 a, 现在的主流浏览器下默认样式无差别,但为了某些因素,比如可读性,也会考虑将下划线重置为无。

以上,是回顾,是反思,是接下来技术实现的指导思想。

技术实现

天下一大抄,抄来抄去,种种 reset 代码,长得都差不离。这没什么不好,不光解决了问题,还促进了技术传播。

但从 2004 年到现在,已经一晃眼 5 年了。曾经的一些考虑,比如针对 ie 5.5 的代码,目前已经可以大胆舍弃了。抄的过程中,努力去做到求实求证,努力求一份自己的理解,很难很难。但只要孜孜不倦,终究会有所获,有所得,有所悟。

这是我和好友正淳一起整理的一份 reset.css:

/*
KISSY CSS Reset
理念:清除和重置是紧密不可分的
特色:1.适应中文 2.基于最新主流浏览器
*/
/* 清除内外边距 */
body, h1, h2, 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号