【问题标题】:Centrally Align CSS Box Flip Animation UL居中对齐 CSS 框翻转动画 UL
【发布时间】:2015-02-08 09:13:10
【问题描述】:

我有一个 CSS 3D 转换效果,我想将它与页面中心对齐。

基本上,我使用两个 div;一个div的正面和背面,然后通过使用jQuery在悬停时添加一个类来使用CSS进行转换。

所以我想将整个方框(最终我会有大约五个方框)对齐到中心。 我试过了:

 ul, #subjectCardsContainer {
   display: block;
   margin-left: auto;
   margin-right: auto;
}

还有 'ul' 和 '#subjectCardsContainer' 单独使用


我的整个代码

JSFiddle

$(document).ready(function() {
    $(".card").hover(function() {
      $(this).addClass("flip");
    });
    $(".card").mouseleave(function() {
      $(this).removeClass("flip");
   });
 });
ul, #subjectCardsContainer {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
 li {
    width: 150px;
    height: 150px;
    display: block;
    position: relative;
    list-style-type: none;
    display: inline-block;
     margin: 0px 5px;
}
    .card {
      width: 100%;
      height: 100%;
      position: absolute;
      perspective: 800px;
    }
    .card div {
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      -webkit-transition-duration: 400ms;
      transition-duration: 400ms;
      z-index: 10;
    }
    .card .front {             /*  Front of each card  */
      background: red;
      text-align: center;
    }
    .card .back {              /*  Back of each card  */
      background: blue;
      text-align: center;
      z-index: 0;
      -webkit-transform: rotateY(180deg);
      transform: rotateY(180deg);
    }
    .card.flip .front {
      -webkit-transform: rotateY(180deg); transform: rotateY(180deg);
      z-index: 0;  }
    .card.flip .back {
      -webkit-transform: rotateY(360deg); transform: rotateY(360deg);
      z-index: 10;  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="subjectCardsContainer">
  <ul>
      <li>
          <div class="container">
              <div class="card">
                  <div class="front">
                      <p>Front 1</p>
                  </div>
                  <div class="back">
                      <p>Back 1</p>
                  </div>
              </div>
          </div>
      </li>
      <li>
          <div class="container">
              <div class="card">
                  <div class="front">
                      <p>Front 2</p>
                  </div>
                  <div class="back">
                      <p>Back 2</p>
                  </div>
              </div>
          </div>
      </li>
  </ul>
  </div>

【问题讨论】:

  • @你是否需要水平和垂直居中。 ??或者如果你只需要水平居中你可以使用我的答案..如果你需要两者,那么我将编辑我的答案
  • 不,谢谢,只是水平的。 @SajadKaruthedath

标签: jquery html css transform


【解决方案1】:

对容器使用text-align:center

ul, #subjectCardsContainer {
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align:center;  //added
}

FIDDLE DEMO

【讨论】:

  • Np。顺便说一句,text-align 似乎在不需要displaymargins 的情况下自行工作
  • @Jofish: 是的...但我只是在其中添加了 text-align ..我认为您可能需要在 mian 站点中使用它来满足其他响应需求.. :)
  • @Jofish:有什么问题吗?
猜你喜欢
  • 2017-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多