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实现的几个小loading效果
Sep 27 HTML / CSS
CSS3教程(2):网页边框半径和网页圆角
Apr 02 HTML / CSS
CSS3 优势以及网页设计师如何使用CSS3技术
Jul 29 HTML / CSS
纯css3实现走马灯效果
Dec 26 HTML / CSS
HTML5探秘:用requestAnimationFrame优化Web动画
Jun 03 HTML / CSS
h5调用摄像头的实现方法
Jun 01 HTML / CSS
浅谈基于Canvas的手绘风格图形库Rough.js
Mar 19 HTML / CSS
快速实现一个简单的canvas迷宫游戏的示例
Jul 04 HTML / CSS
localStorage的过期时间设置的方法详解
Nov 26 HTML / CSS
html5借用repeating-linear-gradient实现一把刻度尺(ruler)
Sep 09 HTML / CSS
HTML table 表格边框的实现思路
Oct 12 HTML / CSS
AmazeUI导航的示例代码
Aug 14 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编程最快明白》第五讲:php目录、文件操作
2010/11/01 PHP
php设计模式 Builder(建造者模式)
2011/06/26 PHP
6种php上传图片重命名的方法实例
2013/11/04 PHP
PHP学习笔记之字符串编码的转换和判断
2014/05/22 PHP
php常用的安全过滤函数集锦
2014/10/09 PHP
php使用GD库创建图片缩略图的方法
2015/06/10 PHP
php中namespace及use用法分析
2016/12/06 PHP
JavaScript中使用正则匹配多条,且获取每条中的分组数据
2010/11/30 Javascript
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
2011/01/19 Javascript
javascript实现控制文字大中小显示
2015/04/28 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
2015/09/06 Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
2015/11/04 Javascript
微信小程序 devtool隐藏的秘密
2017/01/21 Javascript
Node.js连接MongoDB数据库产生的问题
2017/02/08 Javascript
node.js 发布订阅模式的实例
2017/09/10 Javascript
如何将你的AngularJS1.x应用迁移至React的方法
2018/02/01 Javascript
详解解决Vue相同路由参数不同不会刷新的问题
2018/10/12 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
2019/02/15 Javascript
Vue动态组件和异步组件原理详解
2019/05/06 Javascript
[59:07]海涛为你详解DOTA2新版本“贤哲秘契”
2014/11/22 DOTA
python迭代器实例简析
2014/09/25 Python
Python实现的读取/更改/写入xml文件操作示例
2018/08/30 Python
django 模型中的计算字段实例
2020/05/19 Python
python3访问字典里的值实例方法
2020/11/18 Python
如何用css3实现switch组件开关的方法
2018/02/09 HTML / CSS
世界上最大的家庭自动化公司:Smarthome
2017/12/20 全球购物
英国定做窗帘和纺织品面料一站式商店:Dekoria
2018/08/29 全球购物
俄语地区最大的中国商品在线购物网站之一:Umka Mall
2019/11/03 全球购物
顶碗少年教学反思
2014/02/21 职场文书
捐书活动总结
2014/05/04 职场文书
领导干部学习“三严三实”思想汇报
2014/09/15 职场文书
公安机关纪律作风整顿剖析
2014/10/10 职场文书
清明节寄语2015
2015/03/23 职场文书
元宵节晚会主持词
2015/07/01 职场文书
2016教师暑期培训学习心得体会
2016/01/09 职场文书
MySQL into_Mysql中replace与replace into用法案例详解
2021/09/14 MySQL