Javascript CSS悬停效果仅在单击时生效

Javascript CSS悬停效果仅在单击时生效,javascript,css,hover,underscore.js,Javascript,Css,Hover,Underscore.js,我有一组具有悬停效果的框,我希望仅在单击时翻转单个框 我正在尝试删除此css块: /*.flip-container:hover .flipper { transform: rotateY(180deg); }*/ 并仅在单击但不起作用时使用下划线将其添加回: window.onload = function(){ var memoryCards = document.getElementsByClassName("flipper"); _.each(memoryCards, func

我有一组具有悬停效果的框,我希望仅在单击时翻转单个框

我正在尝试删除此css块:

/*.flip-container:hover .flipper {
    transform: rotateY(180deg);
}*/
并仅在单击但不起作用时使用下划线将其添加回:

window.onload = function(){
var memoryCards = document.getElementsByClassName("flipper");
_.each(memoryCards, function (card){
    this.addEventListener("click", function(){
    this.setAttribute("transform", "rotateY(180deg");
        }

);});


};
以下是我当前在悬停时翻转的代码:

<div class="flip-container" >
    <div class="col-xs-3 box-size flipper" >
    <div class="front"></div>
    <div class="back"></div>
    </div>
    </div>

.box-size {
    height: 100px;
    width: 100px;
    border: 1px solid black;
    position: relative;
}



.flip-container.hover .flipper, .flip-container.flip .flipper {
    transform: rotateY(180deg);
}


*.flip-container:hover .flipper {
    transform: rotateY(180deg);
}*

/* flip speed goes here */
.flipper {
    transition: 2.0s;
    transform-style: preserve-3d;
    position: relative;
}

/* front pane, placed above back */
.front {
    /*z-index: 2;*/
    /* for firefox 31 */
    transform: rotateY(0deg);
    background-color: green;
    position: absolute;
    top: 0;
    width: 100%;
    margin-left: -15px;
    height: 100px;
}


.back {
    transform: rotateY(180deg);
    background-color: red;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100px;
    margin-left: -15px;
}

.盒子尺寸{
高度:100px;
宽度:100px;
边框:1px纯黑;
位置:相对位置;
}
.flip-container.hover.flipper、.flip-container.flip.flipper{
变换:旋转(180度);
}
*.flip容器:悬停.flipper{
变换:旋转(180度);
}*
/*翻转速度在这里*/
.鳍状肢{
过渡期:2.0秒;
变换样式:保留-3d;
位置:相对位置;
}
/*前窗格,置于后上方*/
.前线{
/*z指数:2*/
/*对于Firefox31*/
变换:旋转(0度);
背景颜色:绿色;
位置:绝对位置;
排名:0;
宽度:100%;
左边距:-15px;
高度:100px;
}
.回来{
变换:旋转(180度);
背景色:红色;
位置:绝对位置;
排名:0;
宽度:100%;
高度:100px;
左边距:-15px;
}

试试这个简单的代码..用css

还是去这个

我用

HTML部分

<div class="flip-container">
  <div class="flipper" onclick="this.classList.toggle('flipped')">
      <div class="front">
        Front
      </div>
      <div class="back">
        Back
      </div>
   </div>
</div>
    /* entire container, keeps perspective */
    .flip-container{
    /*perspective*/
    -webkit-perspective:1000;
       -moz-perspective:1000;
        -ms-perspective:1000;
         -o-perspective:1000;
            perspective:1000;
        padding:50px;
    }
    /* flip the pane when hovered */
        .flipped {
    /*transform*/
    -webkit-transform:rotateY(180deg);
       -moz-transform:rotateY(180deg);
        -ms-transform:rotateY(180deg);
         -o-transform:rotateY(180deg);
            transform:rotateY(180deg);
    }
    .flip-container, .front, .back{
    width:50px;
    height:50px;
    }
    /* flip speed goes here */
    .flipper {
    /*transition*/
    -webkit-transition:0.6s;
       -moz-transition:0.6s;
         -o-transition:0.6s;
            transition:0.6s;
    /*transform-style*/
    -webkit-transform-style:preserve-3d;
       -moz-transform-style:preserve-3d;
        -ms-transform-style:preserve-3d;
         -o-transform-style:preserve-3d;
            transform-style:preserve-3d;
    position:relative;
    }
    /* hide back of pane during swap */
    .front, .back{
    /*backface-visibility*/
    -webkit-backface-visibility:hidden;
       -moz-backface-visibility:hidden;
        -ms-backface-visibility:hidden;
         -o-backface-visibility:hidden;
            backface-visibility:hidden;
    position:absolute;
    top:0;
    left:0;
    }
    /* front pane, placed above back */
    .front{
    z-index:2;
    }
    /* back, initially hidden pane */
    .back{
    /*transform*/
    -webkit-transform:rotateY(180deg);
       -moz-transform:rotateY(180deg);
        -ms-transform:rotateY(180deg);
         -o-transform:rotateY(180deg);
            transform:rotateY(180deg);
         background-color:blue;
       min-width:100px; 
       min-height:100px;
    }
    .front{
       background-color:red;
       min-width:100px;
       min-height:100px;
    }

用css试试这个简单的代码

还是去这个

我用

HTML部分

<div class="flip-container">
  <div class="flipper" onclick="this.classList.toggle('flipped')">
      <div class="front">
        Front
      </div>
      <div class="back">
        Back
      </div>
   </div>
</div>
    /* entire container, keeps perspective */
    .flip-container{
    /*perspective*/
    -webkit-perspective:1000;
       -moz-perspective:1000;
        -ms-perspective:1000;
         -o-perspective:1000;
            perspective:1000;
        padding:50px;
    }
    /* flip the pane when hovered */
        .flipped {
    /*transform*/
    -webkit-transform:rotateY(180deg);
       -moz-transform:rotateY(180deg);
        -ms-transform:rotateY(180deg);
         -o-transform:rotateY(180deg);
            transform:rotateY(180deg);
    }
    .flip-container, .front, .back{
    width:50px;
    height:50px;
    }
    /* flip speed goes here */
    .flipper {
    /*transition*/
    -webkit-transition:0.6s;
       -moz-transition:0.6s;
         -o-transition:0.6s;
            transition:0.6s;
    /*transform-style*/
    -webkit-transform-style:preserve-3d;
       -moz-transform-style:preserve-3d;
        -ms-transform-style:preserve-3d;
         -o-transform-style:preserve-3d;
            transform-style:preserve-3d;
    position:relative;
    }
    /* hide back of pane during swap */
    .front, .back{
    /*backface-visibility*/
    -webkit-backface-visibility:hidden;
       -moz-backface-visibility:hidden;
        -ms-backface-visibility:hidden;
         -o-backface-visibility:hidden;
            backface-visibility:hidden;
    position:absolute;
    top:0;
    left:0;
    }
    /* front pane, placed above back */
    .front{
    z-index:2;
    }
    /* back, initially hidden pane */
    .back{
    /*transform*/
    -webkit-transform:rotateY(180deg);
       -moz-transform:rotateY(180deg);
        -ms-transform:rotateY(180deg);
         -o-transform:rotateY(180deg);
            transform:rotateY(180deg);
         background-color:blue;
       min-width:100px; 
       min-height:100px;
    }
    .front{
       background-color:red;
       min-width:100px;
       min-height:100px;
    }

使用CSS方式尝试
:active
。翻转容器:active。flipper
演示:使用CSS方式尝试
:active
。翻转容器:active。flipper
演示:谢谢,这是我需要的。我只需要在过渡期间将180改为360。谢谢,这是我所需要的。我只需要改变180到360的过渡。