如何使输入占据flex容器中的所有剩余宽度?

白天使

我正在尝试创建一个将用于移动和桌面用户的简单数字选择器我的想法是使输入由“加号”和“减号”按钮包围。

除了输入字段的响应能力之外,其他所有东西都工作正常。不知何故,它不会缩小到容器的剩余大小。

因此,我想2 rem在输入周围采用固定大小的跨度(在我的情况下),该跨度占用容器的所有剩余宽度。

这是代码:

body {
  background: #f5f5f5;
}

.outer-container {
  width: 300px;
  border: 1px solid gray;
  padding: 10px;
}

.container {
  display: inline-flex;
  align-items: center;
}

.item {
  dsipaly: inline-block;
  height: 2rem;
  width: 2rem;
  font-size: 2rem;
  line-height: 2rem;
  border: 1px solid black;
  border-radius: 50%;
  text-align: center;
}

input {
  font-size: 2rem;
  margin: 0 10px;
}
<div class="outer-container">
  <div class="container">
    <span class="left item">-</span>
    <input type="text" />
    <span class="right item">+</span>
  </div>
</div>

我创建了一个使用flexbox但不会缩小输入且不会溢出容器的布局

是否可以缩小输入以占据所有可用容器宽度而不会在X轴上溢出容器?

陪同Afif

您可以尝试以下方法:

body {
  background: #f5f5f5;
}

.outer-container {
  width: 300px;
  border: 1px solid gray;
  padding: 10px;
}

.container {
  display: inline-flex;
  align-items: center;
}

.item {
  height: 2rem;
  width: 2rem;
  font-size: 2rem;
  line-height: 2rem;
  border: 1px solid black;
  border-radius: 50%;
  text-align: center;
}

input {
  font-size: 2rem;
  margin: 0 10px;
  min-width:0; /* Remove the automatic minimum size set so the element can shrink*/
  width: 87%; /* Set any value of width here as reference*/
  flex: 1; /* make the item grow to fill the remaining space */
}
<div class="outer-container">
  <div class="container">
    <span class="left item">-</span>
    <input type="text" >
    <span class="right item">+</span>
  </div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使此菜单占据所有剩余空间的宽度?

EditText如何占据布局中的所有剩余空间?

如何获取第二个浮点div以占据所有剩余宽度

如何在颤动中拉伸容器,使其占据剩余的屏幕?

如何在不指定div宽度的情况下使div占据所有可用的剩余水平空间?

为什么这个div具有position:absolute占据所有剩余宽度?

css 列占据所有剩余空间

让div占据剩余宽度的100%?

如何使Vuetify v-flex占据剩余的可用空间

如何告诉HTML,两个元素应该占据剩余的剩余宽度?

v-text-field 没有占据容器的整个宽度

设置输入元素的样式以填充其容器的剩余宽度

如何更改浮动div的宽度以填充它们占据的所有空间?

使div占据父项的剩余宽度

Flex div始终占据剩余高度

带有静态宽度容器的 Flex

如何使输入元素占据固定宽度元素旁边的可用空间?

对所有可调整大小的子元素强制Flex容器的最大宽度

使输入占用所有剩余空间

如何并排放置 3 个 div,最右边的一个占据剩余宽度?

如何使文本字段填写所有包含多个节点窗格的剩余宽度是多少?

如何使div占据所有可用高度?

三栏HTML flex框:如何设置中间一个以获取所有剩余空间?

如何使输入文本字段采用所有可用宽度?

为什么 form::text 占据浏览器视口的所有宽度以及如何使其更窄

如何使表格及其所有内容在 HTML 中采用其父容器的确切宽度和高度?

如何遍历容器中的所有对象?

控制在flex容器中垂直排列的flex项的宽度

如何避免带有 display:block 的 <a> 占据整个宽度?