问题描述
由于每个浏览器的 默认样式 不同,为了避免浏览器发生兼容性问题,大家开始使用CSS RESET的方式来进行样式重置,但从目前发现传统CSS RESET的使用已经泛滥,代码各式各样,不仅有冗余,还存在隐性问题。
而另一种解决方案是 Normalize.css,随人相比于传统CSS RESET更加合理,统一了浏览器的默认样式,很好的保留的元素的基础样式。但是由于不是国人开发,设置的font-family
并不是中文字体,对于一些文字相关的排版,还是存在一些需求差异。
试问,是否可以结合这两者的优点,排除一些问题因素,整理自己的开发需求,制定化一套属于自己的Base.css
或者Reset.css
?
它能解决的问题
- 统一所有浏览器的效果
- 解决低浏览器潜在的BUG
- 适配多终端响应式
- 使网站向后兼容
- 样式库的基础文件
问题因素
- 使用通配符暴力重置方法的方法是否合理,如:
*{margin:0;padding:0}
- 使用通配符是否向大家讨论的那样真正会存在性能问题?
- 关于“样式过渡重置”和“整体无伤大雅”这两种说法大家怎么看?
- 对于一些本身自带样式的标签(strong,em),是否应该坚持原汁原味?
- 对于统一内外边距最合理的解决方案是什么?为什么?
- 对于字体的默认设置,大家有什么好的建议,考虑响应式?
- 对于默认的色彩,比如字体颜色,背景颜色,最好的建议是什么?
- 还有列表,边框,表格,链接,表单等最优的重置方案?
- 还有对HTML5新元素的一些重置?
- 或者还有一些待补充的标签?
麻烦大家分享一下经验,贴出自己的CSS RESET代码,说一说为什么?
我想依据大家的经验,总结制定一个base.css,然后作为基础文件拓展一个样式库。
个人觉得 Normalize.css 已经很好用了,再定义一个字体足矣。
对中文排版友好的,可以参考下这个:http://typo.sofi.sh/