html - 让 flex child 不拉伸(stretch)(但在绝对 parent 里面)?

标签 html css flexbox alignment

我怎样才能停止<li>拉伸(stretch)元素以填充其 flex 容器的高度?我只想拉伸(stretch)背景,让元素位于框的顶部。

我知道通常你会使用 align-items: flex-start , 但这不能作为父项工作 div绝对定位。

我需要为与此问题无关的部分布局保留绝对定位。

div {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

ul {
  align-items: flex-start;
  background: gold;
  display: flex;
  flex-wrap: wrap;
  flex-grow: 1;
}

li {
  flex-basis: 50%;
}
<div>
<h1>hello</h1>
<ul>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
</ul>
</div>

最佳答案

align-content: flex-start 添加到 ul(在换行时对齐flex line一个 flexbox,你应该使用 align-content 属性)——看下面的演示:

div {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

ul {
  align-items: flex-start;
  background: gold;
  display: flex;
  flex-wrap: wrap;
  flex-grow: 1;
  align-content: flex-start; /* added */
}

li {
  flex-basis: 50%;
}
<div>
<h1>hello</h1>
<ul>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
</ul>
</div>

关于html - 让 flex child 不拉伸(stretch)(但在绝对 parent 里面)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55279159/

相关文章:

html - Bootstrap 下拉菜单不显示

html - Canvas如何将getImageData转为toDataUrl格式

javascript - 使用 JavaScript 创建随机数并在不使用表单的情况下以 HTML 形式返回

html - 使用 css div 表 - 得到广泛支持了吗?

css - 如何在响应式 Flexbox 网格布局中用假元素填充最后一行?

html - 如何根据内容长度使 DIV 的宽度等于 2 个预设值中的 1 个?

javascript - jQuery 或 Javascript 如何查找 Rails 表单中的复选框是否已选中并删除表单 div

jquery - 如何添加阅读更多点击事件以仅打开一篇新闻文章?

javascript - 如何让div像弹出窗口一样隐藏和显示?

css - Phonegap - CSS Flexbox - div 填充页面的其余部分