CSS3实现伪类hover离开时平滑过渡效果示例


Posted in HTML / CSS onAugust 10, 2017

由于hover伪类添加的动画效果,仅当鼠标放在元素上时会被触发,而当鼠标离开时,效果会中断,会显得很生硬。

大多数人的想法都是使用js的onmouseover和onmouseleave事件来实现动画效果。其实不必这么麻烦,CSS3便可以帮你解决这些问题。

<!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>离开时效果生硬</title>
        <style type="text/css">
            div{
                width: 100px;
                height: 100px;
                border:1px solid;
    
                margin:0px auto;
                margin-top: 200px;
            }
            div:hover{
                transform: scale(2);
                transition: all 1s linear;
            }
        </style>
    </head>
    <body>
        <div></div>
    </body>
    </html>

由于div元素只有在:hover伪类触发的时候,效果才能加到div元素上。

当鼠标离开div元素的时候,:hover伪类将不再生效,瞬间丢掉hover里写的动画效果。

此时,我们应当在原本元素上再写一个一模一样的transition效果,将离开断掉的动画效果续接上。

<!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>简单解决</title>
    <style type="text/css">
        div{
            width: 100px;
            height: 100px;
            border:1px solid;

            margin:0px auto;
            margin-top: 200px;

            /* 在原本元素上再加一个transition */
            transition: all 1s linear;
        }
        div:hover{
            transform: scale(2);
            transition: all 1s linear;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

此时,不管鼠标在什么时候离开元素,都会原样返回。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
CSS3系列之3D制作方法案例
Aug 14 HTML / CSS
纯CSS打造(无图像无js)的非常流行的讲话(语音)气泡效果
Dec 28 HTML / CSS
css3实现元素环绕中心点布局的方法示例
Jan 15 HTML / CSS
HTML5 canvas 基本语法
Aug 26 HTML / CSS
HTML5的表单(绝对特别强大的功能)使用示例
Jun 20 HTML / CSS
使用canvas绘制超炫时钟
Dec 17 HTML / CSS
HTML5之tabindex属性全面解析
Jul 07 HTML / CSS
HTML5页面音视频在微信和app下自动播放的实现方法
Oct 20 HTML / CSS
HTML5新特性之type=file文件上传功能
Feb 02 HTML / CSS
canvas 橡皮筋式线条绘图应用方法
Feb 13 HTML / CSS
Html5获取用户当前位置的几种方式
Jan 18 HTML / CSS
box-shadow单边阴影的实现
May 21 HTML / CSS
使用CSS3来代替JS实现交互
Aug 10 #HTML / CSS
css3实现wifi信号逐渐增强效果实例
Aug 09 #HTML / CSS
CSS3 实现弹幕的示例代码
Aug 07 #HTML / CSS
浅谈CSS3特性查询(Feature Query: @supports)功能简介
Jul 31 #HTML / CSS
css3旋转木马_动力节点Java学院整理
Jul 12 #HTML / CSS
css3边框_动力节点Java学院整理
Jul 11 #HTML / CSS
使用 css3 实现圆形进度条的示例
Jul 05 #HTML / CSS
You might like
php实现ping
2006/10/09 PHP
window+nginx+php环境配置 附配置搭配说明
2010/12/29 PHP
php遍历文件夹所有文件子文件夹函数代码
2013/11/27 PHP
php ajax异步读取rss文档数据
2016/03/29 PHP
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
JavaScript更改class和id的方法
2008/10/10 Javascript
jquery 3D球状导航的文章分类
2010/07/06 Javascript
Jquery事件的连接使用示例
2013/06/18 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
JS在浏览器中解析Base64编码图像
2017/02/09 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
2017/02/21 Javascript
Three.js实现浏览器变动时进行自适应的方法
2017/09/26 Javascript
原生JS实现ajax与ajax的跨域请求实例
2017/12/01 Javascript
完美解决mui框架off-canvas侧滑超出部分隐藏无法滚动的问题
2018/01/25 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
2019/01/24 jQuery
node 文件上传接口的转发的实现
2019/09/23 Javascript
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
Python 获得13位unix时间戳的方法
2017/10/20 Python
Python实现的直接插入排序算法示例
2018/04/29 Python
浅谈Python中的bs4基础
2018/10/21 Python
对python的输出和输出格式详解
2018/12/08 Python
pyhanlp安装介绍和简单应用
2019/02/22 Python
基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能
2019/07/15 Python
python字典排序的方法
2019/10/12 Python
IronPython连接MySQL的方法步骤
2019/12/27 Python
HTML5之SVG 2D入门7—SVG元素的重用与引用
2013/01/30 HTML / CSS
浅析HTML5中header标签的用法
2016/06/24 HTML / CSS
初中班主任寄语
2014/04/04 职场文书
安全责任书范本
2014/04/15 职场文书
学校政风行风自查自纠报告
2014/10/21 职场文书
上诉答辩状范文
2015/05/22 职场文书
Java框架入门之简单介绍SpringBoot框架
2021/06/18 Java/Android
详解Vue slot插槽
2021/11/20 Vue.js
PHP RabbitMQ消息列队
2022/05/11 PHP