模型:
在标准模式下,元素width是内容宽度,即:元素实际width = 元素width + 元素padding + 元素border,(盒子的宽度还要加上元素margin的宽度);
在兼容模式下,元素width是元素的实际宽度,即:元素width = 元素内容width + 元素padding + 元素border,(盒子的宽度还要加上元素margin的宽度)。
盒模型:主要针对块级元素,把每个块级元素都想象成一个盒子,每个盒子有外边距(margin)、边框(border)、内边距(padding)、内容(content)。
关于行内元素:
对于行内元素的垂直对齐样式设置,基于 Gecko 的浏览器(Mozilla Firefox、HotBrowser、Mozilla Suite、Camino)标准模式对齐至基线,怪异模式对齐至底部;
对于行内元素的高度(height)和宽度(width)的设置,标准模式下不生效,而在兼容模式下会生效。
四大内核:
- Trident,主要有IE浏览器以及多核浏览器
- Gecko,主要有Firefox以及Firefox的衍生浏览器
- WebKit,主要有Chrome与Chrome的衍生浏览器、Safari以及多核浏览器
- Presto,之前主要应用于Opera,Opera现已改用Google Chrome的Blink内核。
关于百分比的高度设置:在标准模式下,一个元素的高度是由其包含的内容来决定的,如果父元素没有设置百分比的高度,子元素设置一个百分比的高度是无效的。
关于水平居中设置:在标准模式下,使用margin:0 auto可以使元素水平居中,但在兼容模式下会失效。
关于!important声明:在兼容模式下,IE6/7/8下使用!important声明无效。
其他:兼容模式下,设置图片的padding会失效;table中的字体属性不能继承父元素的字体属性;设置white-space:pre会失效。