当前位置: 首页 > Web前端 > CSS

CSSDiv嵌套问题和高自适应问题的五个实现--个人总结

时间:2023-03-31 11:16:37 CSS

以下是我实习面试遇到的一个问题。问题描述如下:两个内层div嵌套在一个外层div中,外层div的高度固定(假设未知),内层以上的div高度固定。如何让下层的div达到外层div的高度?我在网上看到过类似的问题,但是大多假设外层的高度是100%或者已知,而我遇到的是虽然外层的高度是固定的,但是我们并不知道多少就是(这里需要说明一下,虽然我在代码中给了外层的高度一个固定值,但是只是为了效果,后面不会用到这个值,基本满足条件我们不知道外层的具体高度),所以也看了一下网上一些零散的解决方案,自己也实践了一下,最后总结出五种可以实现的方法。HTML代码如下:888888888

12321423512
五种实现方式分别是如下:1.使用flex布局实现.wrapper{width:200px;高度:400px;边距:100px自动;/*这里的边距纯粹是为了测试时显示效果居中,没有实际用途*/background:aquamarine;显示:弹性;flex-direction:column;}.div1{height:100px;宽度:100%;背景色:紫色;order:0;}.div2{background-color:teal;宽度:100%;顺序:1;1;}2。下面的div使用position:absolute+top/bottom来实现.wrapper{width:200px;高度:400px;边距:100px自动;背景:水生;位置:相对;}.div1{高度:100px;背景颜色:紫色;}.div2{背景颜色:蓝绿色;宽度:100%;位置:绝对;顶部:100px;bottom:0;}3、下面的div设置margin-top为负值,实现.wrapper{width:200px;高度:400px;边距:100px自动;背景:海蓝宝石;ion:relative;}.div1{height:100px;背景色:紫色;位置:相对;}.div2{背景颜色:蓝绿色;宽度:100%;高度:100%;边距顶部:-100px;-尺寸:边框框;padding-top:100px;}4、外层div设置padding-top,内层div实现绝对定位。包装器{宽度:200px;高度:400px;边距:100px自动;box-sizing:border-box;填充顶部:100px;背景:海蓝宝石;位置:相对;}.div1{高度:100px;宽度:100%;背景色:紫色;位置:绝对;top:0;}.div2{背景颜色:蓝绿色;宽度:100%;height:100%;}5.上层div绝对定位,top:0;下面的div设置为box-sizing+padding-top.wrapper{width:200px;高度:400px;边距:100px自动;背景:海蓝宝石;位置:相对;}.div1{高度:100px;宽度:100%;背景色:紫色;蓝绿色;宽度:100%;高度:100%;牛大小:边框框;padding-top:100px;}第一次写文章,有什么问题欢迎指出,有其他实现方法欢迎交流~~