要想写出跨浏览器的css,必须知道浏览器解析css的两种模式:标准模式(strict mode)和怪异模式(quirks mode)。
所谓的标准模式是指,浏览器按w3c标准解析执行代码;怪异模式则是使用浏览器自己的方式解析执行代码,因为不同浏览器解析执行的方式不一样,所以我们称之为怪异模式。浏览器解析时到底使用标准模式还是怪异模式,与你网页中的dtd声明直接相关,dtd声明定义了标准文档的类型(标准模式解析)文档类型,会使浏览器使用相应的方式加载网页并显示,忽略dtd声明,将使网页进入怪异模式(quirks mode)。
重庆php 重庆php,最专业的php社区
如果你的网页代码不含有任何声明,那么浏览器就会采用怪异模式解析,便是如果你的网页代码含有dtd声明,浏览器就会按你所声明的标准解析。
到底标准模式和怪异模式有什么不同呢?标准模式中
ie6不认识!important声明,ie7、ie8、firefox、chrome等浏览器认识;而在怪异模式中,ie6/7/8都不认识!important声明,这只是区别的一种,还有很多其它区别。所以,要想写出跨浏览器的css,你必须采用标准模式。好像太绝对了,呵呵。好吧,要想写出跨浏览器css,你最好采用标准模式。
到底都有哪些声明呢?哪种声明更好呢?我们建议你使用xhtml 1.0最严格模式,从一开始我们就应该严格的要求自己,具体声明如下:
nbsp;html public -//w3c//dtd xhtml 1.0 strict//en http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd>
如果你接手的是一个遗留网页,最初并没有dtd声明,并且使用了很多在xhtml中已经废除的标签,那么,我们建议你使用xhtml兼容模式,声明如下:
nbsp;html public -//w3c//dtd xhtml 1.0 transitional//en http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd>