如何垂直对齐文本字段的标签和按钮

时间:2019-06-18 15:00:31

标签: twitter-bootstrap-3 angular-ui-bootstrap

我基本上是在尝试这种布局:

标签文本字段按钮

例如: 份数[5] [添加]

这种想法真的很简单。但是我已经挣扎了几个小时,这是我最近的一次,这绝对是可怕的: Bad attempt

这是我的代码:

<div class="row col-md-12">
            <form class="form-inline pull-right">
                <div class="form-group">
                    <label for="numberOfCopies">Number of copies</label>
                    <input size="1" type="text" class="form-control" id="numberOfCopies">
                    <button type="submit"  class="btn btn-primary">Add</button>
                </div>
            </form>
        </div>

1 个答案:

答案 0 :(得分:1)

首先介绍一些Bootstrap基本知识:

  • 您的“ row-div”应该由“ container-div”包裹
  • rowcol-xx-x类需要位于自己的div标签上

如下面的示例所示,您可以使用CSS轻松完成此操作。

  • 借助display: flex;,我们可以并排获得表单组的所有元素。
  • 使用white-space: nowrap,我们“告诉”标签仅显示为一行。
  • 使用margin标签将元素定位到正确的位置。
  

要了解更多信息,请查看displaywhite-spacemargin的文档。

     

我认为usage of input-groups也可能很有趣。如有疑问,请随时提出评论。

.form-group.flex {
  display: flex;
}

.form-group.flex label {
  white-space: nowrap;
  margin-top: 7px;
}

.form-group.flex input {
  margin: 0 7px;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>

<div class="container">
  <div class="row">
    <div class="col-md-12">
      <form class="form-inline pull-right">
        <div class="form-group flex">
          <label for="numberOfCopies">Number of copies</label>
          <input size="1" type="text" class="form-control" id="numberOfCopies">
          <button type="submit" class="btn btn-primary">Add</button>
        </div>
      </form>
    </div>
  </div>
</div>