这是个历史遗留问题,W3C标准推出前,旧的页面都是根据旧的渲染方式对页面进行渲染的,因此在W3C标准推出后为了保证旧页面的正常显示,保持浏览器的兼容性,这样浏览器上就产生了能够兼容W3C标准渲染的严格模式和保证旧页面显示的怪异模式的标准兼容模式。
个人博客 http://www.sharedblog.cn/?post=83
具体表现:
1. 在严格模式中 :width是内容宽度 ,元素真正的宽度 = margin一left + border一left一width + padding一left + width + padding一right + border一right一 width + margin一right;
在怪异模式中 :width则是元素的实际宽度 ,内容宽度 = width 一 ( padding一left + padding一right + border一left一width + border一right一width)
2. 可以设置行内元素的高宽
在标准模式下,给span等行内元素设置wdith和height都不会生效,而在怪异模式下,则会生效。
3. 可设置百分比的高度
在标准模式下,一个元素的高度是由其包含的内容来决定的,如果父元素没有设置高度,子元素设置一个百分比的高度是无效的。
4. 用margin:0 auto设置水平居中在IE下会失效
使用margin:0 auto在标准模式下可以使元素水平居中,但在怪异模式下却会失效, 怪异模式下的解决办法,用text一align属性:body{text一align:center};#content{text一align:left}
5. 怪异模式下设置图片的padding会失效
6. 怪异模式下Table中的字体属性不能继承上层的设置
7. 怪异模式下white一space:pre会失效