Почему ширина моего ввода так сильно увеличивается? - PullRequest
1 голос
/ 23 октября 2019

У меня есть вход внутри div с flex-flow: row nowrap внутри другого div с flex-flow: column nowrap.

Почему растет вход (в Chrome это 188px, YMMV), даже если его нет flex-grow: 1?

*, ::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>

1 Ответ

1 голос
/ 23 октября 2019

Благодаря одному из комментариев @ Michael_B мне удалось выявить проблему. Браузеры устанавливают минимальную ширину input тегов.

Я применил width: 0 к входу, а ширина уменьшена до ожидаемого значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...