为什么父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会重合? 展开
其中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会重合? 展开
1个回答
展开全部
如果一个元素设置了绝对定位position:absolute,他就会脱离文档流,即使你没有设置偏移属性,它原来占的位置也会让出来,所以排在绝对定位了的元素后面的元素会跑上去,到前面绝对定位了的元素原来所在的位置,所以就重叠了
如果你只是想要用z-index这个属性又不想破坏布局,可以用相对定位position:relative;,相对定位元素是一个“占着茅坑不拉屎”的家伙,意思就是即使它设置了偏移属性而离开了它原来的位置,它原来的位置也不会让出来给别人的,好像它没有离开一样
如果你只是想要用z-index这个属性又不想破坏布局,可以用相对定位position:relative;,相对定位元素是一个“占着茅坑不拉屎”的家伙,意思就是即使它设置了偏移属性而离开了它原来的位置,它原来的位置也不会让出来给别人的,好像它没有离开一样
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询