3 回答
TA贡献1827条经验 获得超9个赞
如果我了解您要正确执行的操作,那么我认为使用CSS保持孩子的绝对位置是不可能的。
绝对定位的元素已从文档流中完全删除,因此它们的尺寸不能更改其父级的尺寸。
如果确实必须在将子代保持为的状态下实现这种影响,则position: absolute可以使用JavaScript通过在渲染后定位绝对定位的子代的高度并使用其设置父代的高度来实现。
或者,只需使用float: left/ float:right和页边距即可获得相同的定位效果,同时将子级保留在文档流中,然后可以overflow: hidden在父级上使用(或任何其他clearfix技术)以使其高度扩展到其子级。
article {
position: relative;
overflow: hidden;
}
.one {
position: relative;
float: left;
margin-top: 10px;
margin-left: 10px;
background: red;
width: 30px;
height: 30px;
}
.two {
position: relative;
float: right;
margin-top: 10px;
margin-right: 10px;
background: blue;
width: 30px;
height: 30px;
}
TA贡献1802条经验 获得超5个赞
这是我的解决方法,
在您的示例中,您可以添加第三个元素,它们具有.one和.two元素的“相同样式”,但是没有绝对位置并且具有隐藏的可见性:
的HTML
<article>
<div class="one"></div>
<div class="two"></div>
<div class="three"></div>
</article>
的CSS
.three{
height: 30px;
z-index: -1;
visibility: hidden;
}
- 3 回答
- 0 关注
- 385 浏览
相关问题推荐
添加回答
举报