【问题标题】:How to center input label and input in a row?如何将输入标签居中并连续输入?
【发布时间】:2014-06-19 20:45:06
【问题描述】:

我有这个代码:

<div class="well">
    <form role="form" id="shop-order" method="post" action="">
        <div class="row">
            <div class="form-group">
                <div class="col-md-3">
                    <div class="pull-right">
                        <label for="name">Label</label>
                    </div>
                </div>
                <div class="col-md-6">
                    <select class="form-control" name="clientId">
                        $options
                    </select>
                </div>
            </div>
        </div>
        // possibly other rows...
</div>

这段代码的结果在这张图片上:

我不明白如何将标签居中并连续输入。我希望它们在一条线上:标签中间与输入中间相对。

我该怎么做?或者可能我的 html 是错误的,这可以通过正确的 html 来实现?

我正在寻找引导方法,我知道,它可以通过line-height 来实现。如果我找不到引导解决方案,我将通过line-height 来实现。所以我正在寻找引导解决方案

JSFiddle demo

【问题讨论】:

  • 你试过 line-height 和 vertical-align:middle 吗?
  • 这将是“生活黑客”,我正在寻找引导方法(好吧,如果我使用它......)
  • 如果你提供一个 jsfiddle 会很棒:)
  • @merlin 1 分钟。尝试在线查找 bootstrap.min.css
  • @merlin 我添加了 jsfiddle。

标签: html css twitter-bootstrap-3 centering


【解决方案1】:

Bootstrap 提供了一种 Horizo​​ntal Forms 样式,看起来就像您正在寻找的那样:http://getbootstrap.com/css/#forms-horizontal

工作小提琴:http://jsfiddle.net/Nv9Q5/1/

代码:

<div class="well">
  <form class="form-horizontal">
      <div class="form-group">
          <label for="name" class="col-sm-2 control-label">ФИО Клиента</label>
          <div class="col-sm-10 col-md-10">
              <select class="form-control" name="clientId">
                  <option>one</option>
              </select>
          </div>
      </div>
  </form>
</div>

【讨论】:

  • 试过了。我收到this。代码在这里:jsfiddle
  • 您只是缺少label 元素上的类。给你:jsfiddle.net/Nv9Q5/1 注意,你需要处理 md-x / sm-x 网格类,以使其在所有屏幕尺寸上都能按需要工作。
  • 如何修复网格类以使其在所有设备上正常工作?请问有什么教程/指南吗?
  • 是的 - 引导文档/指南非常有用。 getbootstrap.com/css/#grid-example-mixed
【解决方案2】:

设置标签的 css line-height 以匹配输入的高度。您必须四处寻找合适的值。

https://developer.mozilla.org/en-US/docs/Web/CSS/line-height

【讨论】:

  • 有引导方法吗?
  • 如果您从 label 中删除 pull-right 包装器,它是否正确垂直对齐(即使它现在将左对齐)?
  • @nicael 答案解释了将哪个属性添加到标签以实现所需的对齐。该链接是补充。
【解决方案3】:

输入元素已经是内联元素。如果将text-align:center 添加到父 div,它将自动浮动到中心。

编辑

如果要垂直居中,需要多加一个div包裹输入框

<div class="vertically_center">
  <input type="text">
</div>

CSS

.vertically_center {
   display: table-cell;
   height: 200px;
   vertical-align: center;
}

【讨论】:

  • 我不需要水平居中,我需要垂直居中。
  • 好的。我只是更新代码。可以帮助你垂直居中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-23
  • 1970-01-01
  • 2012-08-24
  • 2017-07-21
  • 2012-03-08
  • 1970-01-01
相关资源
最近更新 更多