css - 如何使 Flexbox 元素大小相同

标签 css flexbox

我想使用 Flexbox,它有一些宽度相同的元素。我注意到 Flexbox 均匀分布空间,而不是空间本身。

例如:

.header {
  display: flex;
}

.item {
  flex-grow: 1;
  text-align: center;
  border: 1px solid black;
}
<div class="header">
  <div class="item">asdfasdfasdfasdfasdfasdf</div>
  <div class="item">z</div>
</div>

第一项比第二项大很多。如果我有三个元素、四个元素或 n 个元素,我希望它们都出现在同一行上,并且每个元素的空间量相等。

有什么想法吗?

http://codepen.io/anon/pen/gbJBqM

最佳答案

设置它们,使它们的 flex-basis0(因此所有元素都有相同的起点),并允许它们增长:

flex: 1 1 0px;

您的 IDE 或 linter 可能会提到度量单位“px”是多余的。如果您将其遗漏(例如:flex: 1 1 0),IE 将无法正确呈现它。所以需要 px 来支持 Internet Explorer,正如@fabb 在评论中提到的那样;

关于css - 如何使 Flexbox 元素大小相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29503227/

相关文章:

css - Flexbox:flex 元素的最小高度与高度的区别?

css - 带有 flexbox 的响应式列

html - 调整窗口大小时图像高度不会调整

html - Bootstrap 4 : Displaying 3 columns in two rows on narrow screens

jquery - SlickGrid 在鼠标悬停时更改行背景颜色

css - Magento 顶级菜单突然停止写入 "Active"类

html - Google 阅读器菜单如何保持原样?

html - 样式谷歌的新 recaptcha 复选框?

javascript - FadeOut 菜单 onClick 函数

html - 当窗口展开时,粘性页脚 flexbox 在 chrome 上失去背景颜色