摘要:离开时效果生硬由于元素只有在伪类触发的时候,效果才能加到元素上。简单解决在此处留一个就够了去掉这个这只是最简单的动画实现,但对于目前大部分需求来说,配合配合贝塞尔曲线,已经足够用了。
由于hover伪类添加的动画效果,仅当鼠标放在元素上时会被触发,而当鼠标离开时,效果会中断,会显得很生硬。
大多数人的想法都是使用js的onmouseover和onmouseleave事件来实现动画效果。其实不必这么麻烦,CSS3便可以帮你解决这些问题。
离开时效果生硬
由于div元素只有在:hover伪类触发的时候,效果才能加到div元素上。
当鼠标离开div元素的时候,:hover伪类将不再生效,瞬间丢掉hover里写的动画效果。
此时,我们应当在原本元素上再写一个一模一样的transition效果,将离开断掉的动画效果续接上。
简单解决
此时,不管鼠标在什么时候离开元素,都会原样返回。
但此时会有一个问题,鼠标放上去,立马离开,或者鼠标从上边匀速划过,div回到原样的时间,依旧是1s。
其实,我们在hover里写的transition:all 1s linear完全是多余的。
transition有一个特性,只要是带有数值类型的属性(例如:% , rgba() , rgb() , hsla() , 数字等),在其发生变化的时候,均会被触发动画效果。
因此,不管:hover伪类什么时候丢掉我的动画,也不管我:hover时,元素动画走到了什么地步。只要元素本身带有transitioin,该动画便会从当前动画执行到的地方,以相同的时间返回原样。
简单解决
这只是最简单的动画实现,但对于目前大部分需求来说,配合配合贝塞尔曲线,已经足够用了。
你仅仅需要做到,hover中的最终样式,保证为数值样式变OK了。
像display:block变为display:none就不好使了,此时我们可以用visibilty:1变为visibilty:0,同样也可以简单实现显示到隐藏的效果。
另外加一句,不太清楚transition属性的可以自行去百度去,transition-timing-function属性定义的速度曲线,使用cubic-bezier贝塞尔曲线,可以做到很多效果,大家可以上这个网址去试一试贝塞尔曲线实现的动画。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/112378.html
摘要:离开时效果生硬由于元素只有在伪类触发的时候,效果才能加到元素上。简单解决在此处留一个就够了去掉这个这只是最简单的动画实现,但对于目前大部分需求来说,配合配合贝塞尔曲线,已经足够用了。 由于hover伪类添加的动画效果,仅当鼠标放在元素上时会被触发,而当鼠标离开时,效果会中断,会显得很生硬。 大多数人的想法都是使用js的onmouseover和onmouseleave事件来实...
摘要:鼠标移动触发的动画效果。第二个参数就是动画耗时,默认是,所以必不可少,要不然没有动画效果,没什么可说的。多个样式各个样式用逗号隔开即可宽度完成变化,高度延迟执行,完成变化,背景色完成变化效果如下未完待续1.transition的浏览器支持情况 IE10+支持,IE6789都不支持!目前,其他浏览器最新版本都支持,不需要再加前缀-webkit- 之类的了 2. 还是一步一步说说怎么用trans...
摘要:的新特性大致分为以下六类选择器边框与圆角背景与渐变过渡变换动画下面分别说一说以上六类都有哪些内容选择器基本选择器基本选择器又分为子选择器相邻兄弟选择器通用兄弟选择器群组选择器属性选择器为带有属性的元素设置样式为属性的元素设置样式选择属性值包 CSS3的新特性大致分为以下六类 1.CSS3选择器 2.CSS3边框与圆角 3.CSS3背景与渐变 4.CSS3过渡 5.CSS3变换 ...
阅读 776·2023-04-25 19:49
阅读 3716·2021-09-30 09:47
阅读 2719·2021-09-13 10:21
阅读 2643·2021-08-24 10:04
阅读 3149·2019-08-30 15:55
阅读 2202·2019-08-30 15:55
阅读 2373·2019-08-30 15:54
阅读 3447·2019-08-30 13:53