你说的问题 是在ie6,7下 div2的margin值无效 对吧 ? 你要理解 在ie中,一个元素要么自己对自身的内容进行计算大小和组织,要么依赖于父元素来计算尺寸和组织内容。 在ie6,7下有个hasayout属性 如果没有触发他不能负责对自己和可能的子孙元素进行尺寸计算和定位;所以子元素的margin失效。 激活haslayout属性有很多 可以用zoom:1 你可以去百度搜下haslayout 去了解一下它。
出现这种情况和margin折叠的道理很相似 你可以参考一下
http://www.cr173.com/html/17041_1.html
margin折叠是CSS2.1规范的一项
你可以参考w3c官网的文档说明
http://www.w3.org/TR/CSS21/box.html#collapsing-margins
具体的解决办法要视情况而灵活变通!