大div包含一个小div,小div还在,大div不知道跑在哪里去了
<div id="p3back33">
<div id="p3one33">
<img src="img/qwe/zhubu.png" width="250px" onclick="dianone()" />
<img src="img/qwe/葱姜.png" width="250px" onclick="diantwo()" />
<img src="img/qwe/bingguang.png" width="250px" onclick="dianthree()"/>
</div>
</div>
#p3back33{
top: 100%;
visibility: hidden;
}
下面是css
#p3back33 {
background: url(../img/qwe/bg2.png);
width: 100%;
height: 100%;
background-size: 100% 100%;
}
#p3one33 {
position: absolute;
top: 67%;
left: 13%;
}
我自己再怎么改,大div和小div就都跑了
新人,bug太多
把visibility: hidden;删掉
如果p3back33 的父级标签没有设置高度的话,这个100% 是无效的,且p3one33 你设置了绝对定位,p3back33里面就相当于没有任何东西可以撑起高度,高度为0,p3back33标签没跑只是你没有看到罢了;
p3one33 标签跑了是因为你的定位问题,它的父标签没有相对定位所以会一直往上一级找,直到body和HTML
将#p3back33的width:100%改为width:100vw;height:100%改为height:100vh;。
同时你没有给#p3back33添加position属性,所以top: 100%;是无效的,应当添加position:relative;.
在给#p3one33添加了position:absolute;属性后,需要给#p3one33添加width和height属性,否则为0;
给大的div添加个背景或者边框线,看看在什么位置呗,然后浏览器检查下看看是什么情况
给p3back33添加css:
position:relative试试
#p3one33使用了绝对定位,导致该元素脱离文档流,从而引起父级#p3back33内部无任何元素,无法撑开父级#p3back33的高度,所以不是父级div不在了,而是父级div高度为0了,可以设置父级高度为100vh,或者修改子集div的定位方式