通常开始写css的时候,我都会先link一个reset.css。
所谓reset,就是将html标签的样式都去掉,变成普通的标签的样子如。
要reset的根本原因就是不同的浏览器对同一个标签样式的解析不一致,导致有些css在一个浏览器显示明明没问题,可是到了另一个浏览器则产生多多少少的错位等问题。加入了reset,就要对很多样式重写,即使你想让他保持原来的样子。
但是对于用户产生内容的网站来说,比如Blog,都用到了富文本可视化编辑器,而大部分编辑器都使用了execCommand来实现格式化的。execCommand在不同的浏览器会生成不同的代码,如“粗体”,执行execCommand('bold',null,false);
之后,ie会生成<strong>
,ff则生成<span style="font-weight: bold;"></span>
,还有浏览器会生成<b>
,如果使用了reset,则在ie等浏览器的富文本格式化会变成看起来无效的样子。
另一种情况就是要做对搜索引擎友好的网页时,像<strong>
这些标签是很有用的。从语义上就知道<strong>
是表示强调内容,一般粗体显示。但是如果reset了,则需要让<strong>
里面填充style,或者用个带有style的span把strong里面的内容包括起来,无疑是自找麻烦。
对于这些情况,有两个解决方法:
- 去掉reset,哪个标签在哪个浏览器除了问题,再改相应的标签,但是可能会造成相同的代码在不同浏览器表现不完全一致;
- 使用reset,然后在要用到的地方使用css模拟回原来的样式
具体要怎么做就看个人喜好了。
附录:我自己使用的reset.css 跟据YUI库的reset.css和网上一些介绍以及自己的经验改写的。