簡體   English   中英

如何在Bootstrap中將大字體標簽與輸入組垂直對齊?

[英]How do I vertically align a large-font label with an input group in Bootstrap?

我想將標簽水平放置在輸入組的附近。 問題在於標簽未與輸入組垂直對齊。 輸入組擁抱框的頂部(即行); 標簽本身將確定行的高度。 我可以通過在輸入組類中添加margin-top來破解它,但是我覺得這不是一個非常敏感的解決方案

我看了以下SO條目。 區別在於我想要更大的字體,因此這些解決方案不起作用:

在這里提琴: http : //jsfiddle.net/marvery/o315v0g9/10/

HTML

<div class='row'>
  <form class='col-xs-offset-2 col-xs-8' method="post">
    <label id="sign_up_form_tagline">Wanna try it?</label>
    <div class="input-group">
      <input class="form-control" id="email" name="email" placeholder="Email Address" type="email" value="">
      <span class="input-group-btn"> <button type="submit" class="btn btn-primary">Sign Up</button></span>
    </div>
  </form>
</div>

CSS

#sign_up_form_tagline {
  float: left;
  margin-right: 30px;
  text-align: right;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 34px;
}

.input-group{
  margin-top: 7px;
}

我正在使用Bootstrap 3。

您可以使用display: inline-block; and vertical-align: middle display: inline-block; and vertical-align: middle ,也可以使用display:flex; 兩者都會有幫助,只需再增加一個div和寬度

 #sign_up_form_tagline { margin:0 0 0 10px; text-align: right; text-transform: uppercase; font-weight: bold; font-size: 34px; display: inline-block; vertical-align: middle; } .holder{ width: 190px; display: inline-block; vertical-align: middle; } 
 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous"> <div class='row'> <form class='col-xs-offset-2 col-xs-8' method="post"> <label id="sign_up_form_tagline">Wanna try it?</label> <div class="holder"> <div class="input-group"> <input class="form-control" id="email" name="email" placeholder="Email Address" type="email" value=""> <span class="input-group-btn"> <button type="submit" class="btn btn-primary">Sign Up</button></span> </div> </div> </form> </div> 

這里是演示您的代碼更改的示例。 您可以通過提供display:table-cell;在垂直對齊中間設置任何元素。

HTML

<div class='row'>
  <form class='col-xs-offset-2 col-xs-8 set-form' method="post">
    <label id="sign_up_form_tagline">Wanna try it?</label>
    <div class="input-group">
      <input class="form-control" id="email" name="email" placeholder="Email Address" type="email" value="">
      <span class="input-group-btn"> <button type="submit" class="btn btn-primary">Sign Up</button></span>
    </div>
  </form>
</div>

CSS

#sign_up_form_tagline {
  float: left;
  margin-right: 30px;
  text-align: right;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 34px;
}

.input-group {
  margin-top: 7px;
}

.set-form {
  display: table;
}

.set-form #sign_up_form_tagline {
  display: table-cell;
  vertical-align: middle;
  float: none;
  width: 50%;
  text-align: left;
}

.set-form .input-group {
  display: table-cell;
  vertical-align: middle;
  width: 50%;
  position: relative;
}

.set-form .input-group .input-group-btn {
  position: absolute;
  right: 0;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM