【问题标题】:Inline form with flex, bug in safari带有 flex 的内联表单,Safari 中的错误
【发布时间】:2016-08-15 12:48:01
【问题描述】:

我用 flex 创建简单的内联表单。 但是在 safari 中我发现了一个 bug - 按钮失去宽度,这里是截图:

在所有其他浏览器中都很好。

如何修复 safari 中的这个错误? PS:我无法在按钮上设置固定宽度。

这是我的代码:

<div class="container">
  <div class="row">
    <div class="col-md-3">
      <form action="" class="form-inline-flex">
        <div>
          <input type="text" />
        </div>
        <button type="submit" />Subscribe</button>
      </form>
      </div>
  </div>
</div>


.form-inline-flex{
    display: -ms-flexbox;
    display: -webkit-flex ;
    display: flex;
}

button{
  display:inline-block;
  padding: 13px 28px;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  border: 1px solid transparent;
  padding: 13px 20px;
  font-size: 16px;
  line-height: 1.375;
}

input{
  display: block;
  width: 100%;
  font-size: 14px;
  padding: 7px 18px;
  line-height: 34px;
  color: #000;
  border: 1px solid #d2d1d1;
}

CodePen

【问题讨论】:

  • 考虑删除input 周围的div 包装,使buttoninput 同胞。
  • div 需要围绕输入
  • 那么也许你的引导程序中有一些东西。考虑自行运行代码进行测试。 (顺便说一句,button 中有两个填充规则。)
  • 糟糕。我删除了一个填充,但它没有改变任何东西。

标签: html css safari flexbox


【解决方案1】:

将此添加到您的按钮:

button {
  …
  flex: none;
}

【讨论】:

    猜你喜欢
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    • 2019-09-23
    • 2011-09-17
    • 2011-07-07
    • 1970-01-01
    • 2013-09-03
    • 1970-01-01
    相关资源
    最近更新 更多