block 子元素层级问题

原始状态

image

<html>
<head>
<meta charset="utf-8">
<style>
#main
{
  width:300px;
  height:300px;
  border:1px solid black;
}

.a1, .a3
{
  height: 50px
}
.a2 {
  height: 100px;
}
.a2-child {
  height:50px;
  background-color: red;
}
</style>
</head>
<body>
<div id="main">
  <div class="a1" style="background-color:coral;">a1</div>
	<div class="a2" style="background-color:lightblue;">
		<div class="a2-child">a2-children</div>
	</div>  
  <div class="a3" style="background-color:lightgreen;">a3</div>
</div>
</body>
</html>

预料之外的状态

拉大 a2-children 的高度使其超出最外层容器

image

.a2-child {
  height:350px;
  background-color: red;
}

结论

  • flex item 设置高度时,其子元素不能将其撑开
  • flex item 的子元素的层级,高于其父元素,低于其父元素的兄弟元素。
posted @ 2023-02-20 15:54  Better-HTQ  阅读(17)  评论(0编辑  收藏  举报