html - 如何将元素放置在 flexbox 中,宽度相等?

标签 html css flexbox

我想将 flexbox 中的元素放置为相同的宽度。

在 flexbox 中,我有一个 searchsvg、输入字段和带有一些文本的 div。我希望他们每个人都根据 flexbox 的宽度采用相同的宽度。我不想手动提供每个元素的宽度。我尝试使用 justify-content: space-evenly。在这样做时,输入字段比其他字段占用更多的宽度。

如何避免?下面是代码:

.wrapper {
  display: flex;
  flex-grow: 1;
}

.items_container {
  position: relative;
  width: 40px;
  height: 40px;
  top: 16px;
  margin-left: 16px;
  padding-left: 5px;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
}

@media (min-width: 300px) {
  .items_container.expanded {
    width: 50%;
  }
}

.items_container.expanded .search_input_field {
  display: flex;
  align-items: center;
}
<div class="wrapper">
  <div class="items_container expanded">
    <div class="search_input_field">
      <div>
        <Svgsearch/>
      </div>
      <input type="text" placeholder="input" />
    </div>
    <div>dropdown to be added</div>
  </div>

最佳答案

.child 元素应该增长而不是收缩

.parent {
  display: flex;
} 

.child {
  flex: 1 0 0;
}


/* ignore */
.child {
  padding: 5px;
  height: 50px;
  background: lightcoral;
  margin: 2px;
  text-align: center;
}
<div class="parent">
  <div class="child">1</div>
  <div class="child">2</div>
  <div class="child">3</div>
</div>

关于html - 如何将元素放置在 flexbox 中,宽度相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55372027/

相关文章:

html - 当 flexbox 元素以列模式包装时,容器不会增加其宽度

javascript - 获取引用错误: appearance is not defined

html - 宽度 : inherit and float: none redundant?

javascript - 在javascript函数中自定义html

javascript - 自动将内容滚动到底部在 Chrome 中有效,但在 Safari 中无效

css - 如何将图像中的文本居中并将该图像定位在 css 网格单元格的顶部中心?

html - 在移动 View 中更改导航栏的位置

html - CSS 样式输入框和具有相同类的 href 链接

具有多个复选框的 jQuery 过滤器

css - 我可以制作一个 flexbox 并因此它的 child 继承屏幕的高度并在这样做时让最后一个 child 粘在底部吗?