欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

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

程序员文章站 2022-04-24 18:50:11
...


第一个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; 这样显示效果就会不一样 为什么呢

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