【问题标题】:CSS :hover:after DelayCSS :hover:延迟后
【发布时间】:2018-06-15 10:57:11
【问题描述】:

我有这个 CSS:

.edit:hover:after{
    content: '✐';
}

我希望用户在内容出现之前将光标放在 .edit 类上 2 秒。

我尝试过这种方法,但不起作用:

.edit:hover{
    -webkit-transition: 2s all;   
    -webkit-transition-delay: 2s; 
    -moz-transition: 2s all;   
    -moz-transition-delay: 2s; 
    -ms-transition: .2s all;   
    -ms-transition-delay: 2s; 
    -o-transition: 2s all;   
    -o-transition-delay: 2s; 
    transition: 2s all;   
    transition-delay: 2s; 
}

还在.edit:hover:after.edit 上尝试了相同的代码。

html 是一个简单的<td class='edit'> 元素。

仅使用 css 可以吗?

【问题讨论】:

    标签: html css hover pseudo-element


    【解决方案1】:

    您可以尝试将过渡放在您的之后:

    .test:after {
      content: 'shown after 2 seconds';
      opacity:0;
      transition: 2s all;   
    }
    
    .test:hover:after {
      opacity:1;
      transition-delay: 2s; 
    }
    <div class="test">
      hover me for 2 seconds
    </div>

    【讨论】:

    • 不错的解决方案,效果很好。我必须添加 :before{content:"✐";opacity:0;} 才能正确居中,但我可以忍受。明天我会把这个标记为正确答案
    • 您的代码还会在文本消失之前延迟 2 秒。有没有办法消除这种延迟?
    • @GuillaumeF。在淡出之前没有延迟 - 只要您移开鼠标就会发生 - 如果您想加快它,请尝试减少过渡的长度
    猜你喜欢
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-18
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多