如何制定一套合理的CSS reset?

问题描述

由于每个浏览器的 默认样式 不同,为了避免浏览器发生兼容性问题,大家开始使用CSS RESET的方式来进行样式重置,但从目前发现传统CSS RESET的使用已经泛滥,代码各式各样,不仅有冗余,还存在隐性问题。

而另一种解决方案是 Normalize.css,随人相比于传统CSS RESET更加合理,统一了浏览器的默认样式,很好的保留的元素的基础样式。但是由于不是国人开发,设置的font-family并不是中文字体,对于一些文字相关的排版,还是存在一些需求差异。

试问,是否可以结合这两者的优点,排除一些问题因素,整理自己的开发需求,制定化一套属于自己的Base.css或者Reset.css

它能解决的问题

  1. 统一所有浏览器的效果
  2. 解决低浏览器潜在的BUG
  3. 适配多终端响应式
  4. 使网站向后兼容
  5. 样式库的基础文件

问题因素

  1. 使用通配符暴力重置方法的方法是否合理,如:*{margin:0;padding:0}
  2. 使用通配符是否向大家讨论的那样真正会存在性能问题?
  3. 关于“样式过渡重置”和“整体无伤大雅”这两种说法大家怎么看?
  4. 对于一些本身自带样式的标签(strong,em),是否应该坚持原汁原味?
  5. 对于统一内外边距最合理的解决方案是什么?为什么?
  6. 对于字体的默认设置,大家有什么好的建议,考虑响应式?
  7. 对于默认的色彩,比如字体颜色,背景颜色,最好的建议是什么?
  8. 还有列表,边框,表格,链接,表单等最优的重置方案?
  9. 还有对HTML5新元素的一些重置?
  10. 或者还有一些待补充的标签?

麻烦大家分享一下经验,贴出自己的CSS RESET代码,说一说为什么?
我想依据大家的经验,总结制定一个base.css,然后作为基础文件拓展一个样式库。

阅读 5.8k
3 个回答

个人觉得 Normalize.css 已经很好用了,再定义一个字体足矣。

对中文排版友好的,可以参考下这个:http://typo.sofi.sh/

可以参考网易NEC,百度 网易NEC 就可以

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题