什么是怪异模式与标准模式:
浏览器一般都有两种解析渲染模式:标准模式和怪异模式。在标准模式下,浏览器按照HTML与CSS标准对文档进行解析和渲染;而在怪异模式下,浏览器则按照旧有的非标准的实现方式对文档进行解析和渲染。而浏览器解析渲染时采取什么模式是由什么决定呢?答案是DOCTYPE声明
DOCTYPE声明:告知浏览器如何解析和渲染文档
DTD:文档类型定义
//H5中DOCTYPE声明方式,标准模式
<!DOCTYPE html>
标准模式与怪异模式的区别:
- 标准模式盒模型为W3C标准盒模型,怪异模式使用IE盒模型
- CSS中,对于font的属性都是可以继承的,怪异模式下,对于table元素,字体的某些元素将不会从body等其他封装元素中继承得到,特别是font-size属性。
- 对于inline内联元素和table-cell元素,标准模式下vertical-align默认为baseline(基线对齐),在怪异模式下,table单元格中的图片的vertical-align属性默认取值为bottom
- 标准模式下,overflow取默认值visible,在怪异模式下,溢出元素会当做扩展box来对待,即元素的大小由其内容决定,溢出不会裁减隐藏,元素框自动调整,包含溢出内容
- 标准模式下,inline元素自定义大小是无效的,在怪异模式下,内联元素可以设定宽高
- CSS中对于元素的百分比高度规定如下:百分比为元素包含块的高度,不可为负值,如果包含块的高度没有显示给出,该值等同于auto,所以百分比的高度必须在父元素有高度声明的情况下使用。当一个元素使用百分比高度时,标准模式下,高度取决于自身内容变化(若无内容,元素百分比高度或宽度为0),怪异模式下,百分比高度被正确应用(即父元素高度或宽度auto的情况下,依据父元素计算百分比)。