【问题标题】:How to center tabs in bootstrap4?如何在引导程序 4 中居中选项卡?
【发布时间】:2019-04-13 22:20:28
【问题描述】:

我想在页面中间显示我的login/Signup 选项卡及其相关表单,并且还想要像col-md-12col-md-4 这样的小文本文件,但是当我使用style="margin-left=200px;" 时,表单将在中间但是在移动模式下它没有显示所以我删除了style="margin-left=200px;"

html,
body {
  height: 100%;
}

body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  padding-top: 40px;
  padding-bottom: 40px;
  background-color: #f5f5f5;
}

.form-signin {
  width: 100%;
  max-width: 330px;
  padding: 15px;
  margin: auto;
}

.form-signin .checkbox {
  font-weight: 400;
}

.form-signin .form-control {
  position: relative;
  box-sizing: border-box;
  height: auto;
  padding: 10px;
  font-size: 16px;
}

.form-signin .form-control:focus {
  z-index: 2;
}

.form-signin input[type="email"] {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.form-signin input[type="password"] {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>

<div class="container">
  <br>
  <h4 class="text-center">User Panel</h4>
  <hr>
  <!-- Nav tabs -->
  <ul class="nav nav-tabs form-signin" role="tablist">
    <li class="nav-item">
      <a class="nav-link active" data-toggle="tab" href="#home">Login</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" data-toggle="tab" href="#menu2">SignUp</a>
    </li>
  </ul>

  <!-- Tab panes -->
  <div class="tab-content">
    <div id="home" class="container tab-pane active"><br>
      <form class="form-signin">
        <img class="mb-4" src="https://camu.in/assets/img/avatar1.svg" alt="" width="72" height="72">
        <h1 class="h3 mb-3 font-weight-normal">Please sign in</h1>
        <label for="inputEmail" class="sr-only">Email address</label>
        <input type="email" id="inputEmail" class="form-control" placeholder="Email address" required autofocus>
        <label for="inputPassword" class="sr-only">Password</label>
        <input type="password" id="inputPassword" class="form-control" placeholder="Password" required>
        <div class="checkbox mb-3">
          <label>
          <input type="checkbox" value="remember-me"> Remember me
        </label>
        </div>
        <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
        <p class="mt-5 mb-3 text-muted">&copy; 2017-2018</p>
      </form>
    </div>

    <div id="menu2" class="container tab-pane fade"><br>
      <p>Signup</p>
      <form class="form-signin">
        <img class="mb-4" src="https://camu.in/assets/img/avatar1.svg" alt="" width="72" height="72">
        <h1 class="h3 mb-3 font-weight-normal">Please sign in</h1>
        <label for="inputEmail" class="sr-only">Email address</label>
        <input type="email" id="inputEmail" class="form-control" placeholder="Email address" required autofocus>
        <label for="inputPassword" class="sr-only">Password</label>
        <input type="password" id="inputPassword" class="form-control" placeholder="Password" required>
        <div class="checkbox mb-3">
          <label>
          <input type="checkbox" value="remember-me"> Remember me
        </label>
        </div>
        <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
        <p class="mt-5 mb-3 text-muted">&copy; 2017-2018</p>
      </form>
    </div>
  </div>


</div>

我想在页面中间输出下面的选项卡和表单,但我做不到。请检查下面的图片我想要什么。另外,当我点击SignUp 时,一切都搞砸了。

【问题讨论】:

  • justify-content-center 类添加到您的&lt;ul&gt; 中,选项卡将居中。
  • 请检查 this 回答。运行 sn -p 看看是不是你想要的。

标签: html css forms bootstrap-4


【解决方案1】:

通过添加类名justify-content-center,以类名nav-tabs 使ul 居中。此外,通过将类名 pb-0 添加到 nav-tabs 来触摸活动选项卡和灰色边框。

所以,它是&lt;ul class="nav nav-tabs form-signin justify-content-center pb-0" role="tablist"&gt; 而不是&lt;ul class="nav nav-tabs form-signin" role="tablist"&gt;

html,
body {
  height: 100%;
}

body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  padding-top: 40px;
  padding-bottom: 40px;
  background-color: #f5f5f5;
}

.form-signin {
  width: 100%;
  max-width: 330px;
  padding: 15px;
  margin: auto;
}

.form-signin .checkbox {
  font-weight: 400;
}

.form-signin .form-control {
  position: relative;
  box-sizing: border-box;
  height: auto;
  padding: 10px;
  font-size: 16px;
}

.form-signin .form-control:focus {
  z-index: 2;
}

.form-signin input[type="email"] {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.form-signin input[type="password"] {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>

<div class="container">
  <h4 class="text-center">User Panel</h4>
  <!-- Nav tabs -->
  <ul class="nav nav-tabs form-signin justify-content-center pb-0" role="tablist">
    <li class="nav-item">
      <a class="nav-link active" data-toggle="tab" href="#home">Login</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" data-toggle="tab" href="#menu2">SignUp</a>
    </li>
  </ul>

  <!-- Tab panes -->
  <div class="tab-content">
    <div id="home" class="container tab-pane active"><br>
      <form class="form-signin">
        <img class="mb-4" src="https://camu.in/assets/img/avatar1.svg" alt="" width="72" height="72">
        <h1 class="h3 mb-3 font-weight-normal">Please sign in</h1>
        <label for="inputEmail" class="sr-only">Email address</label>
        <input type="email" id="inputEmail" class="form-control" placeholder="Email address" required autofocus>
        <label for="inputPassword" class="sr-only">Password</label>
        <input type="password" id="inputPassword" class="form-control" placeholder="Password" required>
        <div class="checkbox mb-3">
          <label>
          <input type="checkbox" value="remember-me"> Remember me
        </label>
        </div>
        <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
        <p class="mt-5 mb-3 text-muted">&copy; 2017-2018</p>
      </form>
    </div>

    <div id="menu2" class="container tab-pane fade"><br>
      <form class="form-signin">
        <img class="mb-4" src="https://camu.in/assets/img/avatar1.svg" alt="" width="72" height="72">
        <h1 class="h3 mb-3 font-weight-normal">Please sign up</h1>
        <label for="inputEmail" class="sr-only">Email address</label>
        <input type="email" id="inputEmail" class="form-control" placeholder="Email address" required autofocus>
        <label for="inputPassword" class="sr-only">Password</label>
        <input type="password" id="inputPassword" class="form-control" placeholder="Password" required>
        <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
        <p class="mt-5 mb-3 text-muted">&copy; 2017-2018</p>
      </form>
    </div>
  </div>


</div>

【讨论】:

  • @ Razvan Zamfir,感谢您的回答和回答中最重要的解释。代码现在可以完美运行。非常感谢。
【解决方案2】:

只需在您的元素中使用引导类"justify-content-center"

<ul class="nav nav-tabs form-signin justify-content-center" role="tablist">

链接到jsbin

【讨论】:

  • @ Vikash.777 感谢您的回答。选项卡现在在中间,但是当我点击注册选项卡时,用户面板文本和下面的行将上升,文本将消失“用户面板”。
【解决方案3】:

您可以在元素上使用justify-content-center 使用以下解决方案。

<ul class="nav nav-pills mb-3 justify-content-center">

【讨论】:

  • @Meir Roth 感谢您的回答。选项卡现在在中间,但是当我点击注册选项卡时,用户面板文本和下面的行将上升,文本将消失“用户面板”。
猜你喜欢
  • 2016-12-26
  • 2021-07-22
  • 1970-01-01
  • 2016-11-25
  • 2012-03-14
  • 1970-01-01
  • 1970-01-01
  • 2018-12-14
  • 1970-01-01
相关资源
最近更新 更多