使用 css 翻转二维框,以及级联 flex div

2-d box flipping with css, in addition to cascading flex divs

*注:

这个问题变得很长。我想向您介绍我的思考过程。由于篇幅,我为那些不想读到底的人制作了代码笔。

基本上我希望这种格式具有 css 框翻转效果。
http://codepen.io/KDweber89/pen/MYRaxa

我最初是走这条路的: http://codepen.io/KDweber89/pen/WbWQWV

...并在这里结束,让我的 css 翻转,并失去我的风格。 http://codepen.io/KDweber89/pen/QwPjeW

我正在努力使翻转工作正常进行,并保留弹性样式。有人有什么想法吗?

-------------------------------------------- ------------------------------

我遇到过这样的情况,我有一个带有一些级联 flex divs 效果的简洁应用程序。我正在尝试将二维框翻转与每个 div 结合起来以提供其他类型的信息。

这是我原来的 html 和 css 代码。

<div class="row">
  <div class="item">skittles</div>
  <div class="item">butter fingers</div>
  <div class="item">oreos</div>
  <div class="item">candy</div>
</div>

.row{
  margin: 5% auto;
  display: flex;
  display: -webkit-flex;
  flex-direction: row;
  -webkit-flex-direction: row;
}

.item {
  display: inline-block;
  margin: 10px auto;
  padding: 8px 15px;
  border-style: solid;
  border-color: black;  
}

这看起来很漂亮,这是我想继续使用的框架; http://codepen.io/KDweber89/pen/MYRaxa

但是我 运行 在尝试用它添加翻转元素时遇到了问题。

我最初试过这个:

http://codepen.io/KDweber89/pen/WbWQWV

.row > .item{   
    position: absolute;
    transform: perspective( 600px ) rotateY( 0deg );
    background: white; width: 4em; height: 2em; border-radius: 7px;
    backface-visibility: hidden;
    transition: transform .5s linear 0s;
}

.row > .itemback{   
    position: absolute;
    transform: perspective( 600px ) rotateY( 180deg );
    background: white; width: 4em; height: 2em; border-radius: 7px;
    backface-visibility: hidden;
    transition: transform .5s linear 0s;
}

.row:hover > .item {
    transform: perspective( 600px ) rotateY( -180deg );
}

.row:hover > .itemback {
    transform: perspective( 600px ) rotateY( 0deg );
}


<div class="row">
  <div class="item">skittles</div>
  <div class="itemback">test</div>

  <div class="item">butter fingers</div>
  <div class="itemback">test</div>

  <div class="item">oreos</div>
  <div class="itemback">test</div>

  <div class="item">candy</div>
  <div class="itemback">test</div>
    </div>

但意识到这并不是解决方案。我最终 运行 达成的共识解决了我最初的问题,因为它允许我加入很棒的盒子旋转效果....但我最终失去了整洁的 cascade flex 样式,因为这是我能够获得它的唯一方法工作是在我的 类 中加入第三个 div。

http://codepen.io/KDweber89/pen/QwPjeW

<div class = "row">
    <div class="threed">
        <div class="item"> skittles </div>
        <div class="itemback"> TEST </div>
    </div>

    <div class="threed">  
        <div class="item ">butter fingers</div>
        <div class="itemback"> TEST </div>
    </div>  
</div

所以我的问题很简单,我能否带来我想要的翻转效果,同时结合我最初寻找的层叠 flex 样式?

第三个代码笔中缺少边框的原因是此代码中的一个小问题:

.item .itemback {
  display: inline-block;
  margin: 10px auto;
  padding: 8px 15px;
  border-style: solid;
  border-color: black;  
}

具有“.item .itemback”意味着以下规则应适用于 .itemback 元素 .item 元素中。您应该在它们之间添加一个逗号,这意味着它将应用于 .itemback 元素和 .item 元素,如下所示:.item, .itemback.

我做了一些其他修改,我认为这更接近您想要做的事情:http://codepen.io/ebelinski/pen/ByEGMG