html - 使用 flex 元素作为 flex 容器

标签 html css flexbox

我想将 flexbox 与列布局一起使用,但我希望将顶部的 n - 1 flex 元素固定到顶部,并将 nth flex 元素固定在顶部固定在主要 flex 容器区域的底部。

我通过使用 nth flex item 来解决这个问题,同时使用 justify-content: flex-end 将其作为一个新的 flexbox/flex 容器,但我找不到任何这样做的例子 - 根据标准,这是一个正确/可接受的解决方案,如果不是,我将如何使用 flexbox 解决这个问题?

这是一个简单的例子:

.flex-container {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  width: 300px;
  height: 240px;
  background-color: Silver;
}
.flex-container-bottom {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  width: 300px;
  height: 240px;
  background-color: orange;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.flex-item {
  background-color: DeepSkyBlue;
  width: 100px;
  height: 100px;
  margin: 5px;
}
.flex-item-bottom {
  background-color: red;
  width: 100%;
  height: 50px;
}
<div class="flex-container">
  <div class="flex-item">flex item 1</div>
  <div class="flex-item flex-container-bottom">
    <div class="flex-item-bottom">flex item 2</div>
  </div>
</div>

最佳答案

spec对此不是很清楚,但它指出“flex 容器的每个流入子代都成为一个 flex 元素,并且直接包含在 flex 容器内的每个连续文本运行都被包裹在一个匿名 flex 元素中。”这似乎意味着如果我将一个 flex 容器放在另一个 flex 容器中,即使没有明确定义,内部 flex 容器也会隐式成为其包含的 flex 容器的 flex 元素。规范的示例 1 显示了 flex 容器中的 flex 容器,假设它是合法的语法,那么我的用例也可能是合法的,但是示例 1 的部分被标记为非规范的......(╯°□° )╯︵ ┻━┻...在这一点上,我只是假设这是正确的。

关于html - 使用 flex 元素作为 flex 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31143181/

相关文章:

html - CSS Div 页脚奇怪的行为

HTML - 即使具有透明度,框阴影也不适用于圆 Angular 正方形

javascript - ng-show 和 ng-hide 在 Ionic 中很慢。两个元素在几毫秒内可见(仅在 iOS 中)

html - Bootstrap 4 布局问题 Firefox OK/Chrome NOT

javascript - 如何将一个div的内容设置为另一个div的内容

javascript - 如何在我的场景中正确清除间隔?

css - flex 盒子的 child 不对齐底部( flex 端)

html - 如何在 flexbox 行之间添加一条线?

php - 将用户的所有输入发布到数据库中并显示最后的输入但不替换

html - 如何在另一个悬停的子元素的一个元素的::之后设置样式