Html 使父级适应其最大大小';CSS中的儿童

Html 使父级适应其最大大小';CSS中的儿童,html,css,Html,Css,是否可以使父div将其高度调整为其子项的最大高度,将其宽度调整为其子项的最大宽度宽度 *{框大小:内容框;} .家长{ 位置:相对位置; 边框:2件纯蓝; 高度:最大含量; 宽度:最大含量; } .儿童a{ 位置:相对位置; 背景:rgba(255,0,0,0.3); 宽度:135px; 高度:100px; 排名:0; 左:0; } .child-b{ 位置:绝对位置; 背景:rgba(0,255,0,0.3); 宽度:100px; 高度:135px; 排名:0; 左:0; } 是的,这在不

是否可以使父div将其高度调整为其子项的最大高度,将其宽度调整为其子项的最大宽度宽度

*{框大小:内容框;}
.家长{
位置:相对位置;
边框:2件纯蓝;
高度:最大含量;
宽度:最大含量;
}
.儿童a{
位置:相对位置;
背景:rgba(255,0,0,0.3);
宽度:135px;
高度:100px;
排名:0;
左:0;
}
.child-b{
位置:绝对位置;
背景:rgba(0,255,0,0.3);
宽度:100px;
高度:135px;
排名:0;
左:0;
}

是的,这在不使用CSS网格并在同一网格单元中分层元素的情况下是可能的

*{
框大小:内容框;
}
.家长{
位置:相对位置;
边框:2件纯蓝;
高度:最大含量;
宽度:最大含量;
显示:网格;
}
.儿童a{
位置:相对位置;
背景:rgba(255,0,0,0.3);
宽度:135px;
高度:100px;
网格柱:1/-1;
网格行:1;
}
.child-b{
背景:rgba(0,255,0,0.3);
宽度:100px;
高度:135px;
网格柱:1/-1;
网格行:1
}


是的,我们可以通过CSS网格实现这一点。
*{框大小:内容框;}
.家长{
显示:网格;
网格模板区域:“网格重叠”;
边框:2件纯蓝;
高度:自动;
宽度:最大含量;
}
.儿童a{
网格区域:网格重叠;
背景:rgba(255,0,0,0.3);
宽度:135px;
高度:100px;
溢出:覆盖;
}
.child-b{
网格区域:网格重叠;
背景:rgba(0,255,0,0.3);
宽度:100px;
高度:135px;
}

如果您希望得到比CSS网格更好的支持,一个简单的浮点可以做到这一点

*{框大小:内容框;}
.家长{
显示:内联块;/*此*/
边框:2件纯蓝;
}
.儿童a{
背景:rgba(255,0,0,0.3);
浮动:左;/*和这个*/
宽度:135px;
高度:100px;
}
.child-b{
背景:rgba(0,255,0,0.3);
宽度:100px;
高度:135px;
}
/*说明它在任何宽度/高度上都有效*/
.父项:悬停。子项-b{
宽度:180px;
}
.父:悬停。子-a{
高度:180像素;
}


如果要保持绝对定位,则必须将高度设置为与孩子b的高度相同。所以
.parent{height:135px}
这不是最好的方法。绝对位置不是-这是要求吗?@ArmedinKuka感谢您的回复。关键是,家长事先不知道孩子的尺寸,应该将其尺寸调整到不会溢出的最小尺寸。@Paulie_D不,没有特定位置的要求。使用绝对定位,不太可能做到这一点。这是因为绝对定位的元素完全从文档流中移除,因此它们的维度不能改变其父元素的维度。相反,您可以使用网格来执行此操作。