css 无法在此flexbox容器中容纳30px宽度的按钮[重复]

fcg9iug3  于 2023-05-08  发布在  其他
关注(0)|答案(1)|浏览(126)

此问题已在此处有答案

input / button elements not shrinking in a flex container(7个回答)
Why don't flex items shrink past content size?(5个答案)
3天前关闭。
我现在比我应该做的还要多。我无法在这个flex容器中放入30 x30 px <button>;已经超过了红色边界。到目前为止,我的尝试一直是确保按钮设置正确,但可能与flex忽略的默认输入宽度有关。

.container {
  width: 200px;
  border: solid 1px red;
  box-sizing: border-box;
}

.flex {
  display: flex;
  gap: 10px;
  width: 100%;
}

input {
  flex: 1;
}

button {
  flex: 0 0 30px;
  height: 30px;
  aspect-ratio: 1;
}
<div class="container">
  <div class="flex">
    <input type="text">
    <button>X</button>
  </div>
</div>
fcy6dtqo

fcy6dtqo1#

只需将min-width: 10px;(或任何您想要的小值)添加到输入字段。
<input>具有默认的size: 20;。参考文献

.container {
  width: 200px;
  border: solid 1px red;
  box-sizing: border-box;
}

.flex {
  display: flex;
  gap: 10px;
  width: 100%;
}

input {
  flex: 1;
  min-width: 10px;
}

button {
  flex: 0 0 30px;
  height: 30px;
  aspect-ratio: 1;
}
<div class="container">
  <div class="flex">
    <input type="text">
    <button>X</button>
  </div>
</div>

相关问题