这篇文章本来在我的blogger上的,可是blogger一直被墙,就转载到这吧。

1. html-body标签嵌套一起。

html {
background: #DDABC0;
}
body{
background: #3311BB;
height: 100%;
width: 100%;
}
在ie 6下body的height和width为你能看到的浏览器的高度和宽度,在其他浏览器下没有显示,只显示html的背景,好像是不能控制html标签的宽度和高度,囧。。。。。
错,html是可以定义高度和宽度的,但是你如果设置html的background的话,它会设置整个浏览器背景色。

2. html-body-div三对标签嵌套一起。

html {
background: #DDABC0;
}
body{
background: #3311BB;
}
div{
background: #99CC55;
height: 100%;
width: 100%;
}
在ie6和ie7下效果如下
ie6 ie7
ie8、firefox和chrome下
只显示html标签的背景。
说明ie6和ie7下此时body的style为
margin: 15px 5px ? 5px;
height: 20px;
?的地方就先不探究了
3.只有html、body标签
html {
background: #DDABC0;
}
body{
background: #3311BB;
height: 100%;
width: 100%;
}
这是ie6、ie7、ie8皆不相同。
ie6下body背景色为浏览器的可视width和height。并且margin: 15px 10px;
ie7下body背景色width为何ie6相同,height为20px,margin 也相同。
ie8下body不显示。
firefox与chrome与ie8相同。
此处证明上面的?处也为15px。
4.html、body和div标签嵌套。
style与3相同,知识在body里边加了一个空的div,别的什么也没加,不同的效果又出来了。
下边还是body的效果
ie6下效果不变,
ie7下变了,哈哈,也什么都看不见了,和上边ie8相同。
ie8下不变,与此事的ie7相同。其他浏览器就不说了。
ie8、firefox、chrome等比较符合w3c标准的定义body的height和width的默认为0。
这个说明了,ie6此时没有被这个div影响,但是ie7却被影响了。
ie6 body的width和height的100%效果为浏览器的可视区域,ie7的body根据里边的内容变动。
这个主要是ie6和ie7对body的style不同定义造成的,具体是那个,我还不清楚。
5.继续上面的,添加div的style。
div{
background: #99CC55;
height: 100%;
width: 100%;
}
此时效果:
ie6效果如我所想,body和div的显示区域没有变,还是浏览器的可视区域,div的背景把body的覆盖掉了。
ie7就让我不解了,此时body有出现了,显示区域和3相同,并且div的背景色也把body覆盖了。
ie8、firefox和chrome如我所想,body和div还是为零,不显示。
总结,在定义body的width和height为100%时的效果:
1.如果定义html的背景色,不论如何整个页面的底部背景色为所定义的背景色。
2.body默认的width在ie6、ie7下默认为父级的100%,其他为0(零)。
3.body默认的height在ie6下默认为父级的100%,ie7下为20px和受里边内容影响。
4.w3c标准的浏览器body的height和width为0(零)。
其他,在body的width和height没有定义的情况下:
ie6、ie7默认的width为100%,height为20px,ie8的width和height为0(零)。
我一直都是搞程序那一块的,最近被迫也弄前台html了,几天的体会就是最恨ie6了,ie8更接近w3c了。这是我此时看到的表面体会,如果谁看到了,那个地方不对,麻烦告诉我一声。