【问题标题】:How to positioning the back of a Bootstrap flip card on the same position as the front?如何将 Bootstrap 翻转卡的背面定位在与正面相同的位置?
【发布时间】:2020-01-29 17:24:47
【问题描述】:

我需要一些关于引导翻转卡的帮助。 我尝试创建一个 Bootstrap 翻转卡,但我不知道如何让背面与正面位于同一位置。有人可以帮帮我吗?

.card-flip>div {
  backface-visibility: hidden;
  transition: transform 300ms;
  transition-timing-function: linear;
  width: 100%;
  height: 100%;
  /* margin: 0; */
  /* display: flex; */
}

.card-front {
  transform: rotateY(0deg);
}

.card-back {
  transform: rotateY(180deg);
  position: relative;
  top: 0;
}

.card-flip:hover .card-front {
  transform: rotateY(-180deg);
}

.card-flip:hover .card-back {
  transform: rotateY(0deg);
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/css/bootstrap.min.css" rel="stylesheet">
<!-- Material Design Bootstrap -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/mdbootstrap/4.11.0/css/mdb.min.css" rel="stylesheet">

<header>
  <nav class="navbar navbar-expand-md">
    <div class="navbar-brand">
      <strong>Header</strong>
    </div>
  </nav>
</header>

<main style="min-height: calc(100vh - 111px); display: inline-block; width: 100%;">
  <div class="card-flip h-100">
    <div class="container my-5 z-depth-3 p-3 card-front">
      <h3 class="text-center display-4 mb-4">Front</h3>
    </div>
    <div class="container my-5 z-depth-3 p-3 card-back">
      <h3 class="text-center display-4 mb-4">Back</h3>
    </div>
  </div>
</main>
<footer class="page-footer text-center font-small black-text">
  <div class="py-1">
    Footer
  </div>
</footer>

【问题讨论】:

    标签: html css bootstrap-4


    【解决方案1】:

    card-backposition: relative 更改为position: absolute,这样它就会粘在card-front 之上。

    .card-flip {
      display: flex;
      flex-direction: column;
      align-items: center;
      position: relative;
     }
    
    .card-flip>div {
      backface-visibility: hidden;
      transition: transform 300ms;
      transition-timing-function: linear;
      /* margin: 0; */
      /* display: flex; */
    }
    
    .card-front {
      transform: rotateY(0deg);
    }
    
    .card-back {
      transform: rotateY(180deg);
      position: absolute;
      top: 0;
    }
    
    .card-flip:hover .card-front {
      transform: rotateY(-180deg);
    }
    
    .card-flip:hover .card-back {
      transform: rotateY(0deg);
    }
    <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/css/bootstrap.min.css" rel="stylesheet">
    <!-- Material Design Bootstrap -->
    <link href="https://cdnjs.cloudflare.com/ajax/libs/mdbootstrap/4.11.0/css/mdb.min.css" rel="stylesheet">
    
    <header>
      <nav class="navbar navbar-expand-md">
        <div class="navbar-brand">
          <strong>Header</strong>
        </div>
      </nav>
    </header>
    
    <main style="min-height: calc(100vh - 111px); display: inline-block; width: 100%;">
      <div class="card-flip h-100">
        <div class="container my-5 z-depth-3 p-3 card-front">
          <h3 class="text-center display-4 mb-4">Front</h3>
        </div>
        <div class="container my-5 z-depth-3 p-3 card-back">
          <h3 class="text-center display-4 mb-4">Back</h3>
        </div>
      </div>
    </main>
    <footer class="page-footer text-center font-small black-text">
      <div class="py-1">
        Footer
      </div>
    </footer>

    编辑我已将flex-box 属性添加到card-flip。所以它会将位置设置在中心。

    【讨论】:

    • 这不会解决问题。后卡在前卡下面:(
    • 现在卡片是关于彼此的:(
    • 什么意思?没看懂,我在代码sn-p上测试了一下,果然有效。
    • 现在检查代码片段。它就像一个魅力。 :)
    猜你喜欢
    • 2012-07-21
    • 2017-02-28
    • 2021-04-26
    • 2020-10-12
    • 2021-12-14
    • 1970-01-01
    • 2020-12-02
    • 2022-01-19
    • 1970-01-01
    相关资源
    最近更新 更多