为什么我的输入宽度会增加这么多?

问题描述 投票:1回答:1

我在一个带有flex-flow: row nowrap的div内有一个输入,在另一个带有flex-flow: column nowrap的div内。

为什么输入增加(即使没有flex-grow: 1,在Chrome上也为188px,YMMV?

*, ::before, ::after {
    box-sizing: border-box;
}

.wrapper {
  align-items: stretch;
  background-color: #ffffff;
  border: 1px solid #ebf0ff;
  border-radius: 0.25rem;
  display: flex;
  flex-flow: column nowrap;
  margin: 0.75rem 0.5rem;
  max-width: 464px;
  padding: 1rem;
}

.input-wrapper {
  align-items: stretch;
  background-color: #ffffff;
  border: 1px solid #ebf0ff;
  display: flex;
  flex-flow: row nowrap;
  padding: 0.75rem;
}

input {
  border: none;
  font-size: 1rem;
  font-weight: 600;
  outline: none;
}

input::-webkit-inner-spin-button,
input::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

.token-wrapper {
  align-items: center;
  display: flex;
  flex-flow: row nowrap;
  flex-shrink: 0;
  margin-left: 0.25rem;
}

.token-wrapper span {
  font-size: 1rem;
  font-weight: 700;
}

.separator {
  background-color: #ebf0ff;
  margin: 0.25rem 0rem 0.25rem 0.5rem;
  width: 1px;
}

.max-amount-wrapper {
  background-color: #ebf0ff;
  border-radius: 0.25rem;
  font-size: 0.8125rem;
  font-weight: 600;
  margin-left: 0.5rem;
  padding: 0.5rem 0.375rem;
}

.max-amount-wrapper span {
  font-size: 0.75rem;
  font-weight: 400;
]
<div class="wrapper">
  <div class="input-wrapper">
    <input name="amount" placeholder="0" type="number" />
    <div class="token-wrapper">
      <span>DAI</span>
    </div>
    <div class="separator"></div>
    <div class="max-amount-wrapper">
      Max&nbsp;(<span>&nbsp;84&nbsp;</span>)
    </div>
  </div>
</div>
html css input flexbox
1个回答
0
投票

由于@Michael_B的评论之一,我设法确定了问题所在。浏览器将最小宽度设置为input标签。

我在输入上应用了width: 0,并且宽度缩小到了我期望的值。

© www.soinside.com 2019 - 2024. All rights reserved.