我有一个菜单,其中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;
}
答案 0 :(得分:5)
这真的很简单。例如:
a {
-webkit-transition: 1s 3s;
}
a:hover {
background-color: red;
}
当用户悬停链接时,浏览器会等待3秒钟。只有当这些秒数过去后,背景才会转换为红色(在这种情况下,转换时间为1秒)。
答案 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/