这个问题已经有答案了:
Why does height: 100% on a child element not apply when the parent element has a min-height/max-height value but no height value?(1个答案)
2天前关闭。
我有一个高度为250px的父div。然后我有几个孩子,并将他们的最小身高设置为100%。我可以从调试器中看出选择器是正确的,并选择了正确的元素,但高度根本没有填满父元素的高度,而是在内容允许的范围内最小。
:root {
--poke-main: #e05e8e;
--poke-secondary: #f5ecc5;
--poke-tertiary: #b5255a;
}
.card {
border-color: var(--poke-tertiary);
}
.poke_tab {
border-radius: .25rem;
background-color: var(--poke-main);
color: var(--poke-secondary);
min-height: 100%;
}
#carousel {
min-height: 250px;
background-color: yellow;
}
.poke_container, .carousel-inner, .poke_tab, .poke_tab .card {
min-height: 100%; /* This doesn't work */
}
.poke_container .card {
background-color: var(--poke-secondary);
color: var(--poke-tertiary);
}
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<div id="carousel" class="col-lg-10" >
<!-- Infobox -->
<div class="poke_container">
<div class="carousel-inner">
<!-- Log Tab -->
<div class="poke_tab p-2">
<div class="card">
test
</div>
</div>
</div>
</div>
</div>
2条答案
按热度按时间8fq7wneg1#
这是因为父元素没有定义的高度。
当您设置min-height时:100%,它只会在其父元素具有特定高度集时占用可用高度。
在本例中,父元素(如
.poke_container
和.carousel-inner
)没有定义高度,因此min-height: 100%
属性无法按预期工作。rkue9o1l2#
您所面临的子元素没有填充父元素高度的问题可能是由于使用了
min-height: 100%
。当使用min-height
时,它将采用指定高度或父高度的100%中的最大值。如果子对象内部的内容不需要完整的高度,它就不会展开来填充它。要确保子元素占据父元素的整个高度,您可以使用CSS flexbox或网格布局。下面是一个如何使用flexbox修改代码的示例:
在HTML结构中,子元素不需要
min-height: 100%
:通过这些修改,子元素将扩展以填充其父元素的高度,同时仍然容纳内容的高度。Flexbox是一种很好的方式来处理这样的布局,你希望元素动态地占用可用空间。