html - 当我尝试使用以容器为中心的形式时,它向左移动。如何让它保持在中心?

标签 html twitter-bootstrap css bootstrap-4

enter image description here

当我为全屏提供渐变颜色时,我尝试为此使用 container-fluid,但带有居中卡片的表单向左移动。这是代码:

<div class="container-fluid form">
    <div class="row form-row">
      <div class="col-sm-9 col-md-7 col-lg-5 mx-auto signinform">
        <div class="card card-signin my-5">
          <div class="card-body">
            <h5 class="card-title text-center">Sign In</h5>
            <form class="form-signin">
              <div class="form-label-group">
                <input type="email" id="inputEmail" class="form-control" placeholder="Email address" required autofocus>
                <label for="inputEmail">Email address</label>
              </div>
              <div class="form-label-group">
                <input type="password" id="inputPassword" class="form-control" placeholder="Password" required>
                <label for="inputPassword">Password</label>
              </div>
              <div class="custom-control custom-checkbox mb-3">
                <input type="checkbox" class="custom-control-input" id="customCheck1">
                <label class="custom-control-label" for="customCheck1">Remember password</label>
              </div>
              <button class="btn btn-lg btn-primary btn-block text-uppercase" type="submit">Sign in</button>
              <hr class="my-4">
              <button class="btn btn-lg btn-google btn-block text-uppercase" type="submit"><i class="fab fa-google mr-2"></i> Sign in with Google</button>
              <button class="btn btn-lg btn-facebook btn-block text-uppercase" type="submit"><i class="fab fa-facebook-f mr-2"></i> Sign in with Facebook</button>
            </form>
          </div>
        </div>
      </div>
    </div>
  </div>

CSS

:root {
  --input-padding-x: 1.5rem;
  --input-padding-y: .75rem;
}

.container-fluid,.row {
  height: 100vh;

  text-align: center;
 background: #FF512F;  /* fallback for old browsers */
background: -webkit-linear-gradient(to right, #DD2476, rgb(47, 120, 255));  /* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(to right, #DD2476, rgb(47, 95, 255)); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */

}

.card.card-signin.my-5 {
  background-color: rgba(255, 255, 255, 0.6);
}



.col-sm-9.col-md-7.col-lg-5.mx-auto {
  align-items: center;
  display: flex;
}

.card-signin {
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.1);
}

.card-signin .card-title {
  margin-bottom: 2rem;
  font-weight: 300;
  font-size: 1.5rem;
}

.card-signin .card-body {
  padding: 2rem;
}

.form-signin {
  width: 100%;
}

.form-signin .btn {
  font-size: 80%;
  border-radius: 5rem;
  letter-spacing: .1rem;
  font-weight: bold;
  padding: 1rem;
  transition: all 0.2s;
}

.form-label-group {
  position: relative;
  margin-bottom: 1rem;
}

.form-label-group input {
  border-radius: 2rem;
}

.form-label-group>input,
.form-label-group>label {
  padding: var(--input-padding-y) var(--input-padding-x);
}

.form-label-group>label {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  margin-bottom: 0;
  /* Override default `<label>` margin */
  line-height: 1.5;
  color: #495057;
  border: 1px solid transparent;
  border-radius: .25rem;
  transition: all .1s ease-in-out;
}

.form-label-group input::-webkit-input-placeholder {
  color: transparent;
}

.form-label-group input:-ms-input-placeholder {
  color: transparent;
}

.form-label-group input::-ms-input-placeholder {
  color: transparent;
}

.form-label-group input::-moz-placeholder {
  color: transparent;
}

.form-label-group input::placeholder {
  color: transparent;
}

.form-label-group input:not(:placeholder-shown) {
  padding-top: calc(var(--input-padding-y) + var(--input-padding-y) * (2 / 3));
  padding-bottom: calc(var(--input-padding-y) / 3);
}

.form-label-group input:not(:placeholder-shown)~label {
  padding-top: calc(var(--input-padding-y) / 3);
  padding-bottom: calc(var(--input-padding-y) / 3);
  font-size: 12px;
  color: #777;
}

.btn-google {
  color: white;
  background-color: #ea4335;
}

.btn-facebook {
  color: white;
  background-color: #3b5998;
}

我不能在这里使用 body 标签,因为它是 Angular 元素中的一个组件。如何将表格保持在中间而不是向左移动?怎么了?

最佳答案

使用 margin: 0 auto; 使元素居中

.card.card-signin.my-5 {
  background-color: rgba(255, 255, 255, 0.6);
  margin: 0 auto;
}

Test Available

关于html - 当我尝试使用以容器为中心的形式时,它向左移动。如何让它保持在中心?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52819503/

相关文章:

javascript - 在javascript中使用类选择表格单元格

jquery - Bootstrap js插件源代码如何 $ ('body' ).on ('focus.typeahead.data-api' , '[data-provide="typeahead"]', function (e) 工作正常吗?

html - Foundation for Emails Inliner 工具破坏布局

html - 并排 Bootstrap 两个表的标题问题

html - 输入和按钮与 Bootstrap 在同一行

javascript - 如何在页面上显示多个 ember 模型

javascript - 如何使用 jQuery 显示文本而不让它消失?

HTML&CSS 有没有比复制更好的方法来做到这一点?

html - Safari 和 CSS 列的问题

javascript - 多个选项卡的 R Shiny 页面刷新按钮