热搜:NVER node 开发 php

两个连续的div,一个位置绝对 一个是相对。会互相影响?_html/css_WEB-ITnose

2024-11-29 09:20:01
两个连续的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; 这样显示效果就会不一样 为什么呢

左边距不一样,当然显示效果不一样。