Css 柔性箱方向柱

Css 柔性箱方向柱,css,flexbox,Css,Flexbox,我有一个flexbox和方向栏,就像这个代码笔一样 标题 项目1 项目2 项目3 项目4 项目5 项目6 项目7 项目8 项目9 项目10 页脚 div{ 边框:1px实心; } .集装箱{ 显示器:flex; 弯曲方向:立柱; 高度:300px; 宽度:200px; } .容器.内容{ 溢出y:滚动; 显示器:flex; 弯曲方向:立柱; } .页脚{ 高度:20px; } 我希望页脚总是在底部 我尝试为页脚调整self:flex-end,但它不起作用。因为页脚元素是flexbox容器的

我有一个flexbox和方向栏,就像这个代码笔一样


标题
项目1
项目2
项目3
项目4
项目5
项目6
项目7
项目8
项目9
项目10
页脚
div{
边框:1px实心;
}
.集装箱{
显示器:flex;
弯曲方向:立柱;
高度:300px;
宽度:200px;
}
.容器.内容{
溢出y:滚动;
显示器:flex;
弯曲方向:立柱;
}
.页脚{
高度:20px;
}
我希望页脚总是在底部


我尝试为页脚调整self:flex-end,但它不起作用。

因为页脚元素是flexbox容器的直接子元素,最简单的选择是将元素的
页边距顶部设置为
自动
。这将有效地将footer元素放置在容器的底部

如果您想知道为什么会这样,下面是有关flexbox项目的
auto
页边距的相关规范的引用:

弹性项上的自动边距与块流中的自动边距效果非常相似:

  • 在计算弹性基准和弹性长度时,自动边距被视为0

  • 在通过
    justify content
    align self
    对齐之前,任何正的可用空间都会分配给该维度中的自动边距


如您所见,剩余的可用空间分布在
自动
页边距的方向上。

由于页脚元素是flexbox容器的直接子元素,最简单的选项是将元素的
页边距顶部
设置为
自动
。这将有效地将footer元素放置在容器的底部

如果您想知道为什么会这样,下面是有关flexbox项目的
auto
页边距的相关规范的引用:

弹性项上的自动边距与块流中的自动边距效果非常相似:

  • 在计算弹性基准和弹性长度时,自动边距被视为0

  • 在通过
    justify content
    align self
    对齐之前,任何正的可用空间都会分配给该维度中的自动边距


如您所见,剩余的可用空间分布在
自动
边距的方向上。

您已经在那里了,您只需要:

    div {
      border: 1px solid;
    }
    .container {
      display: flex;
      height: 300px;
      flex-wrap: wrap;
      width: 200px;
    }

    .header {
        width: 100%;
    }

    .container .content {
      overflow-y: scroll;
      flex-direction: column;
      width: 100%;
    }

    .footer {
      align-self: flex-end;
      height: 20px;
      width: 100%;
    }

你已经做到了,你只需要:

    div {
      border: 1px solid;
    }
    .container {
      display: flex;
      height: 300px;
      flex-wrap: wrap;
      width: 200px;
    }

    .header {
        width: 100%;
    }

    .container .content {
      overflow-y: scroll;
      flex-direction: column;
      width: 100%;
    }

    .footer {
      align-self: flex-end;
      height: 20px;
      width: 100%;
    }

好的,它可以工作,但我不想让空间在沙发上。也谢谢你。好的,但是页眉伸展(我不想要这个)是一个很好的解决方案。知道它可以工作,但是我不想要在divs上的空间。也谢谢你。好的,但是页眉拉伸(我不想要这个)是一个很好的解决方案
    div {
      border: 1px solid;
    }
    .container {
      display: flex;
      height: 300px;
      flex-wrap: wrap;
      width: 200px;
    }

    .header {
        width: 100%;
    }

    .container .content {
      overflow-y: scroll;
      flex-direction: column;
      width: 100%;
    }

    .footer {
      align-self: flex-end;
      height: 20px;
      width: 100%;
    }