两个连续的div,一个位置绝对 一个是相对。会互相影响?_html/css_WEB-ITnose
第一个div的位置
第二个div的位置
和
第一个div的位置
第二个div的位置
我的理解就是 第一个div和第二个div应该没有影响 是不是应该在不同的层次上 求教
回复讨论(解决方案)
这两个不会有影响
不会影响。。他们的位置都是相对父div而言
这两个不会有影响
你放到html里面试一试 发现不一样上面的第二个div margin:14 10 0 19; 下面的第二个div margin:14 10 0 0; 这样显示效果就会不一样 为什么呢
不会影响。。他们的位置都是相对父div而言
同楼上
第二个div margin:14 10 0 0;
只改变了第二个div左边距,也只对第二个div的自己位置有影响
引用 1 楼 的回复:
这两个不会有影响
你放到html里面试一试 发现不一样上面的第二个div margin:14 10 0 19; 下面的第二个div margin:14 10 0 0; 这样显示效果就会不一样 为什么呢
左边距不一样,当然显示效果不一样。
定义position:absolute
则该 div脱离了文档(DOCUMENT)的默认顺序流
第一个aboslute的div只有在消除自身在文档流中的占位空间时,才会影响到其原本空间周围元素的定位,这时的规则是:就好像该div从文档流中消失,从未出现一样。脱离文档流之后的top,left定位不会影响任何其他元素的定位,并且它可以随意覆盖在别的元素上,可以使用z-index调整z轴的显示优先级。
第二个relative的div首先占据它在文档流中正常位置的空间,并保留这个空间一直在文档流中,随后根据top left等进行相对原位置的偏移定位(原占位空间不偏移),这时它也不影响到别的元素的定位,也可以覆盖在别的元素上。
综上所述。定义absolute的div时,第二个div向上移动,进行占位(因为第一个div已经消除了空间),随后两个div的定位互不影响。
8楼详解
发现是ie的问题 用firefox和ie7 都没问题 但是用ie9有问题
在ie9下 两个div都不一样
引用 3 楼 的回复:
引用 1 楼 的回复:
这两个不会有影响
你放到html里面试一试 发现不一样上面的第二个div margin:14 10 0 19; 下面的第二个div margin:14 10 0 0; 这样显示效果就会不一样 为什么呢
左边距不一样,当然显示效果不一样。