延迟:使用CSS悬停?

时间:2013-03-24 17:46:28

标签: html css hover

我有一个菜单,其中onHover显示一个信息框,告诉按钮的作用。我如何应用延迟,以便在我将鼠标放在按钮上之后让盒子说出一秒钟?

HTML:

<td class="info"><a id="login-edit_account" href="../login-edit_account.php">Edit account<span><div id="pointer"></div><p style="font-size:11px">Edit user's information.</p></span></a></td>

CSS:

td.info                     {
                            position:relative; /*this is the key*/
                            z-index:24; background-color:#ccc;
                            color:#000;
                            text-decoration:none
                            }

td.info:hover               {
                            z-index:25;
                            background-color:#fff
                            }

td.info span                {
                            display: none;
                            transition: 0s display;
                            }

td.info:hover span          { /*the span will display just on :hover state*/
                            display:block;
                            position:absolute;
                            top:42px; left:7px;
                            width:210px;
                            border:2px solid #0cf;
                            padding: 5px;
                            background-color:#fff; color:#000;
                            text-align: center;
                            -webkit-transition-delay:5s;
                            }

#pointer                    {
                            border:solid 10px transparent;
                            border-bottom-color:#0cf;
                            position:absolute;
                            margin:-27px 0px 0px 10px;
                            }

2 个答案:

答案 0 :(得分:5)

这真的很简单。例如:

a {
    -webkit-transition: 1s 3s;
}

a:hover {
    background-color: red;
}

当用户悬停链接时,浏览器会等待3秒钟。只有当这些秒数过去后,背景才会转换为红色(在这种情况下,转换时间为1秒)。

这是一个小提琴:http://jsfiddle.net/joplomacedo/VP7hE/

答案 1 :(得分:1)

是的,您可以使用CSS3的transitions来延迟:hover效果。

  

CSS转换,它是CSS3规范集的一部分,   提供一种在更改CSS属性时控制动画速度的方法。   您可以立即生效,而不是让财产更改立即生效   导致财产的变化在一段时间内发生。   例如,如果将元素的颜色从白色更改为   黑色,通常变化是瞬间的。使用CSS转换   启用后,会在加速后的时间间隔发生更改   曲线,所有这些都可以定制。

在您的情况下,我认为您需要关注transition-delay属性。

以下是有关使用转换/示例用例的一些有用链接:

https://developer.mozilla.org/en-US/docs/CSS/transition-delay

http://css-tricks.com/transition-delay-delays/

http://designshack.net/articles/css/create-stunning-effects-with-css-transition-delays/