水平表单行内的Bootstrap 4垂直中心文本[重复]

Posted

技术标签:

【中文标题】水平表单行内的Bootstrap 4垂直中心文本[重复]【英文标题】:Bootstrap 4 vertical center text inside horizontal form row [duplicate] 【发布时间】:2020-02-09 17:00:20 【问题描述】:

在 Bootstrap 4 Horizo​​ntal 表单中,带有文本的 div 如何垂直居中?

这是取自https://getbootstrap.com/docs/4.3/components/forms/#horizontal-form 的示例 但不是表单输入有一个纯文本 div,例如“密码在这里”文本:

<form>
  <div class="form-group row">
    <label for="inputEmail3" class="col-sm-2 col-form-label">Email</label>
    <div class="col-sm-10">
      <input type="email" class="form-control" id="inputEmail3" placeholder="Email">
    </div>
  </div>
  <div class="form-group row">
    <label for="inputPassword3" class="col-sm-2 col-form-label">Password</label>
    <div class="col-sm-10 align-middle">
      Password goes here
    </div>
  </div> 
</form>

我尝试了 align-middle、d-inline-block 类,但没有效果。

【问题讨论】:

【参考方案1】:

使用align-self-center 垂直对齐

<form>
  <div class="form-group row">
    <label for="inputEmail3" class="col-sm-2 col-form-label">Email</label>
    <div class="col-sm-10">
      <input type="email" class="form-control" id="inputEmail3" placeholder="Email">
    </div>
  </div>
  <div class="form-group row">
    <label for="inputPassword3" class="col-sm-2 col-form-label">Password</label>
    <div class="col-sm-10 align-self-center ">
     Password goes here
    </div>
  </div> 
</form>

参考:https://getbootstrap.com/docs/4.3/utilities/flex/#align-self

演示:

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">


<form>
  <div class="form-group row">
    <label for="inputEmail3" class="col-sm-2 col-form-label">Email</label>
    <div class="col-sm-10">
      <input type="email" class="form-control" id="inputEmail3" placeholder="Email">
    </div>
  </div>
  <div class="form-group row">
    <label for="inputPassword3" class="col-sm-2 col-form-label">Password</label>
    <div class="col-sm-10 align-self-center ">
     Password goes here
    </div>
  </div> 
</form>

【讨论】:

【参考方案2】:

如果您尝试使用 CSS 规则垂直居中对齐 div 内的文本,vertical-align: middle;你不会成功的。假设您有一个高度为 50px 的 div 元素,并且您在 div 内放置了一些要垂直居中对齐的链接。最简单的方法是——只需应用 line-height 属性,其值等于 div 的高度,即 50px。

.menu
   height: 20px;
   line-height: 20px;
    

【讨论】:

这个问题是 Bootstrap 特有的,你的答案是广泛的 CSS。

以上是关于水平表单行内的Bootstrap 4垂直中心文本[重复]的主要内容,如果未能解决你的问题,请参考以下文章

bootstrap 表单里面 label长度差距很大,怎么垂直对其

图片垂直水平居中

如何在 Bootstrap 3 中以一种形式混合垂直和水平表单元素?

文本DIV水平居中和垂直居中

关于文本水平垂直居中的一般方法

-水平居中垂直居中水平垂直居中