Css 基于兄弟姐妹的Div大小';s码

Css 基于兄弟姐妹的Div大小';s码,css,layout,flexbox,Css,Layout,Flexbox,如果可能的话,我希望能够基于同级(#div2)的高度动态设置div(我们称之为#div1)的高度#div2将使用JavaScript调整大小,但我希望能够自动更改#div1的大小。父div也将根据其两个子div的大小调整大小(#div1和#div2) 我已经尝试使用CSS flexbox来实现这一点,并且非常接近。假设我想确保#div1是#div2高度的20%。我可以应用显示:flex;弹性方向:列给父级,给#div2弹性增长:5,给弹性增长:1给#div1。这工作得很好,几乎完全符合我的要求

如果可能的话,我希望能够基于同级(
#div2
)的高度动态设置
div
(我们称之为
#div1
)的高度
#div2
将使用JavaScript调整大小,但我希望能够自动更改
#div1
的大小。父div也将根据其两个子div的大小调整大小(
#div1
#div2

我已经尝试使用CSS flexbox来实现这一点,并且非常接近。假设我想确保
#div1
#div2
高度的20%。我可以应用
显示:flex;弹性方向:列
给父级,给
#div2
弹性增长:5
,给
弹性增长:1
#div1
。这工作得很好,几乎完全符合我的要求

我需要一种使用此flexbox布局的方法,但我需要根据同级的大小而不是父级的大小来使用布局。我的解决方案()要求设置父级大小,而我希望父级和同级都根据
#div2
中的大小更改进行更新

这可能吗?

是的,它是:),以下是方法:

功能更改高度(金额){
const subStyle=document.querySelector('.main.sub').style;
subStyle.height=parseInt(subStyle.height,10)+数量+‘px’;
}
.main{
背景色:红色;
位置:相对位置;
宽度:100px;
}
.sub{
垫底:100%;
背景颜色:绿色;
}
.sub2{
背景颜色:蓝色;
位置:绝对位置;
最高:50%;
身高:50%;
宽度:100%;
}
+100px
-100px
是的,它是:),下面是如何:

功能更改高度(金额){
const subStyle=document.querySelector('.main.sub').style;
subStyle.height=parseInt(subStyle.height,10)+数量+‘px’;
}
.main{
背景色:红色;
位置:相对位置;
宽度:100px;
}
.sub{
垫底:100%;
背景颜色:绿色;
}
.sub2{
背景颜色:蓝色;
位置:绝对位置;
最高:50%;
身高:50%;
宽度:100%;
}
+100px
-100px

如果不设置父div大小,这是不可能的,但我想有一种方法可以调整父div和同级div,以匹配横轴上的div高度-请参阅不设置父div大小,这是不可能的,但是我想有一种方法可以调整父div和同级div,使之与横轴上的div高度相匹配-请参见“谢谢”。我认为这被否决了,因为这个问题是关于CSS唯一的解决方案的。不过这绝对有用。谢谢。我认为这被否决了,因为这个问题是关于CSS唯一的解决方案的。不过这绝对有用。