CSS延迟hover消失时间

一般情况下我们会直接用transition来设置动画效果,如

a{
    transition: all 1s linear;
}
a:hover{
    transform: scale(1.1);
    transition: all 1s linear;
}

其中all为transition-property属性的值,all为全部,如果是想改变宽或高就设置为width或hight等,这个我们不需要;

linear为transition-timing-function属性,即动画切换效果的速度,这个我们也用不到;

1s为transition-delay属性,为动画开始的时间(可以是s秒或ms毫秒),此属性只控制动画开始的时间,那么我们只需要借助此属性即可实现hover延时消失效果啦,上CSS样式:

div{
	transition-delay: .5s;
}
a:hover+div{
	transition-delay: 0s;
}

完整演示代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>鼠标经过显示,离开延迟1秒后立即消失</title>
    <style type="text/css">
	div{
		width: 100px;
		height: 100px;
		background: blue;
		opacity: 0;
		transition-delay: 1s;
	}
	a:hover+div{
		opacity: 1;
		transition-delay: 0s;
	}
    </style>
</head>
<body>
    <a>鼠标经过显示,离开延迟1秒后立即消失</a>
	<div>我显示啦</div>
</body>
</html>

 

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容