如何设置外部div的高度始终等于特定的内部div?

Cod*_*ein 5 html javascript css angular

我有一个外部div包含三个内部div.

我希望最左边的内部div始终确定外部div的高度.如果其他内部div的内容[比最左边的div]少,则它们将具有空白空间.如果他们有更多的内容[比最左边的div],他们会得到一个滚动条.

关于SO的一些其他问题询问将外部div的高度设置内部div 的高度.但是,在我的情况下,我有多个内部div,我不知道外部div的高度是多少还是小于最左边div的高度.

有没有办法做到这一点,特别是只使用CSS?

特殊内部div的外部div高度

Tem*_*fif 8

一个想法是使用绝对位置从流程中制作一些内容,这样它不会对高度产生任何影响,然后使用flexbox作为主要布局:

.container {
  display: flex;
  border: 1px solid;
  padding: 5px;
  box-sizing: border-box;
}

.container>div {
  flex: 1;
  margin: 5px;
  border: 1px solid;
  box-sizing: border-box;
}
div.inner {
  border-color:red;
}

.inner-alt {
  position: relative;
  overflow: auto;
}

.inner-alt>div {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}
Run Code Online (Sandbox Code Playgroud)
<div class="container">
  <div class="inner">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dignissim ipsum orci, </div>
  <div class="inner-alt">
    <div>ut volutpat ligula finibus a. Maecenas ut pharetra ante. Nunc volutpat est eu odio vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  </div>
  <div class="inner-alt">
    <div>eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  </div>
</div>
<div class="container">
  <div class="inner">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dignissim ipsum orci, io vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate</div>
  <div class="inner-alt">
    <div>ut volutpat ligula finibus a. Maecenas ut pharetra ante. Nunc volutpat est eu odio vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  </div>
  <div class="inner-alt">
    <div>eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  </div>
</div>
<div class="container">
  <div class="inner">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dignissim ipsum orci, io vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate , eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate</div>
  <div class="inner-alt">
    <div>ut volutpat ligula finibus a. Maecenas ut pharetra ante. Nunc volutpat est eu odio vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  </div>
  <div class="inner-alt">
    <div>eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

  • @Alecg_O (1) height:0 将使元素不影响其容器的高度,所以就像你有一个空的 (1) min-height:100% 将强制元素达到容器的完整高度它的高度是由其他列定义的,因为我们有一个 Flexbox 布局(或 CSS 网格布局)。换句话说,我们定义容器的高度而不包含其内容,然后我们将该高度用于其内容。 (3认同)
  • 杰出的!您有机会解释一下“height:0;min-height:100%;”方法的工作原理吗? (2认同)