结论:对于标准流程中的元素,看其属性是否继承。对于width和margin-left,是可以继承的,它会引用父元素或者祖先元素(实际包含块);对于height,它没有继承,父元素或者祖先元素会适配它所有的子元素的高度和(这个需要注意)。绝对定位是指其最近的父元素或祖先元素。如果没有父元素或祖先元素,那么它指的是初始包含块(不同的浏览器可能不同,因为W3C没有规定浏览器如何实现它)。但实际上,大多数浏览器将视口视为绝对定位的包含块。固定定位参考可视区域的宽度设置为百分比。一般情况下,子元素通常会继承父元素计算出的值作为百分比参考。对于不可继承的属性和根元素,使用初始值作为参考。比如.box没有设置宽度,但是默认继承body计算的值,而因为.box是.item的父元素,所以.item继承.box计算的值。当块级元素没有设置宽度时,它的宽度默认为全屏,因为它继承了包含块的宽度。当高度设置为百分比结论时,当高度设置为百分比时,高度不会像宽度一样继承父元素或祖先元素。相反,父元素或祖先元素会根据子元素的实际高度(高度计算值)自行适配,一般为所有子元素元素内容的高度之和。子元素会根据文本行的高度设置一个具体的高度值(在子元素的高度没有设置具体值的情况下)。对于绝对定位的元素,当它的高度是百分比时,会参考父元素或祖先元素的高度。绝对定位是指最近的父元素或祖先元素。如果没有父元素或祖先元素,那么引用就是初始的Include块(不同的浏览器可能不同,因为W3C没有规定浏览器应该如何实现)。但实际上,大多数浏览器将视口视为绝对定位的包含块。我们一般喜欢以百分比的形式设置宽度,但是在以百分比形式设置高度时要小心。
