学习css盒子模型是遇到了点问题,当两个盒子嵌套在一起时margin和padding怎定义的?请高手看图解释一下!

途中div1盒子中嵌套了一个div2盒子。请问高手:途中箭头指出的间距对于div1和div2盒子分别代表什么? 我做实验时有点乱了 。 最开始我觉得途中标出的位置是相对的,即相对于div1 是: padding:20px . 相对于div2盒子则是: margin:20px。但是我在试验中却发现,这个宽度只能设置成div1的padding:20px。 去不能设置成div2的margin:20px 请问高手用w3c标准盒子模型和ie盒子模型两种分别解释一下,当两个盒子潜逃在一起时,外面盒子的padding和里面盒子的margin是相同效果吗?

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