为什么父div里面的子div会重合?CSS+div布局问题

父div没有设置position,里面有4个子div;a、b、c、d。其中a、b在一行中并排排列,d在a,b的下一行排列。而c在ab一排的下面。a和b和c均设置了posi... 父div没有设置position,里面有4个子div;a、b、c、d。
其中a、b在一行中并排排列,d在a,b的下一行排列。而c在ab一排的下面。
a和b和c均设置了position:absolute,(是为了使用z-index)把c放到a b下面。
d没有设置position,且abcd均没有使用任何float属性,
但是d总是会出现在a、b、c的下面,重合在一起,为什么??怎样可以使得c独立成1行出来?

如图,紫色为浏览器窗口,黑色为父div class="body",红色为左侧div a , 蓝色为右侧div b; 灰色为显示在a,b下面的div c;(c width:100%主要是想实现横的导航条nav,的长度随着浏览器窗口大小变化而自适应的效果);接下来写d的时候,总是出现在a、b、c区域的下面一层,重合起来?
为什么div会重合?
展开
 我来答
鳑鲏鱼
2014-09-10 · TA获得超过3326个赞
知道小有建树答主
回答量:684
采纳率:100%
帮助的人:648万
展开全部
如果一个元素设置了绝对定位position:absolute,他就会脱离文档流,即使你没有设置偏移属性,它原来占的位置也会让出来,所以排在绝对定位了的元素后面的元素会跑上去,到前面绝对定位了的元素原来所在的位置,所以就重叠了

如果你只是想要用z-index这个属性又不想破坏布局,可以用相对定位position:relative;,相对定位元素是一个“占着茅坑不拉屎”的家伙,意思就是即使它设置了偏移属性而离开了它原来的位置,它原来的位置也不会让出来给别人的,好像它没有离开一样
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式