【问题标题】:CSS3 mouseout transition not working as expectedCSS3 mouseout 过渡未按预期工作
【发布时间】:2017-09-17 17:13:33
【问题描述】:

我有一些 CSS3 悬停效果来为图像标题设置动画:

.imageDetails {
    width: 100%;
    height: 360px;
    position: absolute;
    bottom: -100px;
    opacity: 0;
    color: white;
    background-color: black;
}

.item:hover .imageDetails {
    bottom: 0;
    -webkit-transition: all 0.5s, -webkit-transform 0.5s;
    transition: all 0.5s, transform 0.5s;
    width:100%;
    height: 330px;
    opacity:1;
}

.readMoreLink {
    color:#ACACAC;
    opacity: 0; 
    text-align: center;
}

.item:hover .readMoreLink {
    -webkit-transition-duration: 2s; /* Safari */
    -webkit-transition-delay: 1s; /* Safari */
    transition-duration: 2s;
    transition-delay: 1s;
    opacity: 1;
}

hover 上它是一种享受,但在mouseout 上只是清除。我也想让它滑出来。

我尝试使用以下内容,但行为不端。

.item:hover .imageDetails:not( :hover ){
    bottom: -100px;
    -webkit-transition: all 0.5s, -webkit-transform 0.5s;
    transition: all 0.5s, transform 0.5s;
    width:100%;
    height: 330px;
    opacity:1;
}

我可以用 CSS 添加滑出效果还是 jQuery 更适合这种事情?

【问题讨论】:

    标签: css css-transitions transform


    【解决方案1】:

    您还需要将过渡属性应用于非悬停类,如下所示:

    .readMoreLink {
      color:#ACACAC;
      opacity: 0; 
      text-align: center;
      -webkit-transition-duration: 2s; /* Safari */
      -webkit-transition-delay: 1s; /* Safari */
      transition-duration: 2s;
      transition-delay: 1s;
    }
    
    .item:hover .readMoreLink {
      -webkit-transition-duration: 2s; /* Safari */
      -webkit-transition-delay: 1s; /* Safari */
      transition-duration: 2s;
      transition-delay: 1s;
      opacity: 1;
    }
    

    请看这里:https://jsfiddle.net/bLmw0xzu/

    【讨论】:

    • 链接坏了:-(
    猜你喜欢
    • 2014-03-30
    • 1970-01-01
    • 2018-04-14
    • 1970-01-01
    • 2014-03-11
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多