【问题标题】:CSS delay transitionCSS延迟过渡
【发布时间】:2014-02-13 22:07:53
【问题描述】:

以下 CSS 可以正常工作,但我尝试为翻转效果添加 1 或 2 秒延迟。当你悬停它时,'.back' 是可见的,然后当你离开该区域时,'.front' 是可见的。我想添加一个延迟,这样当您离开该区域时,它需要一两秒才能回到“.front”,这可能吗?

.panel {
    width: 250px!important;
    height: 250px;
    margin: auto!important;
    position: relative;
    -webkit-perspective:1000px;
}

.card {
    width: 100%!important;
    height: 100%;
    -o-transition: all .5s;
    -ms-transition: all .5s;
    -moz-transition: all .5s;
    -webkit-transition: all .5s;
    transition: all .5s;
    -webkit-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    position: absolute;
    top: 0px;
    left: 0px;
}

.front {
    z-index: 2;
}

.back {
    background-color:#fff;
    z-index: 1;
    -webkit-transform: rotateY(-180deg);
    -ms-transform: rotateY(-180deg);
    -moz-transform: rotateY(-180deg);  
    transform: rotateY(-180deg); 
    transition-delay: 2s; 
}

.back p{
    margin-top: 90px;
    font-size: 20px;
    text-align:center;
}

.panel:hover .front {
    z-index: 1;
    -webkit-transform: rotateY(180deg);
    -ms-transform: rotateY(180deg);
    -moz-transform: rotateY(180deg);
    transform: rotateY(180deg);
     -webkit-transition:-webkit-transform 1s;
    transition:transform 1s;


}

.panel:hover .back {
    z-index: 2;   
    -webkit-transform: rotateY(0deg);
    -ms-transform: rotateY(0deg);
    -moz-transform: rotateY(0deg);
    transform: rotateY(0deg);
     -webkit-transition:-webkit-transform 1s;
    transition:transform 1s;
    transition-delay: 2s; 
}

HTML

<li class="panel"><a href="{{link}}"><img class="front card" src="{{image}}" /></a><div class="back card"><p>{{model.user.full_name}}</p></div></li>

【问题讨论】:

    标签: css css-transitions


    【解决方案1】:

    将transition-delay 添加到.card - fiddle

    .card {
       -o-transition: all .5s 2s;
       -ms-transition: all .5s 2s;
       -moz-transition: all .5s 2s;
       -webkit-transition: all .5s 2s;
        transition: all .5s 2s;
    }
    

    【讨论】:

      【解决方案2】:
      .panel .front {
        transition: all 2s;
      }
      

      您必须将效果放在元素上才能使其过渡回来而无需将鼠标悬停在其上。

      【讨论】:

        猜你喜欢
        • 2017-01-10
        • 1970-01-01
        • 1970-01-01
        • 2019-07-17
        • 1970-01-01
        • 1970-01-01
        • 2013-06-11
        • 2014-03-17
        • 2015-10-07
        相关资源
        最近更新 更多