Css和JS实现下划线动效的方法示例
发布时间:2020-02-03 15:37:48 作者:潘雄 我要评论
这篇文章主要介绍了Css和JS实现下划线动效的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用!
【 如果你想靠AI翻身,你先需要一个靠谱的工具! 】
本文主要讲述两种下划线动效效果,第一种悬停时 X轴由内向外展开实现动画效果,第二种为左右自动展示,由左向右,或由右向左!!
实现的主要效果是利用伪类标签,以及hover,利用transfromm trition实现动画效果
x轴由内向外展开
利用贝塞尔曲线利用横线的动画实现,具体代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | ul { display : flex; padding : 0 ; margin : 0 ; list-style-type : none ; } ul:hover li:not(:hover) a { opacity: 0.2 ; } ul li { position : relative ; padding : 30px 25px 30px 25px ; cursor : pointer ; } ul li::after { position : absolute ; content : "" ; top : 100% ; left : 0 ; width : 100% ; height : 2px ; background : #3498db ; transform: scaleX( 0 ); transition: 0.4 s cubic-bezier( 0.165 , 0.84 , 0.44 , 1 ); } ul li:hover::after, ul li.active::after { transform: scaleX( 1 ); } |
左右横移下划线动画特效
主要利用js判断鼠标移开时的位置,对动画效果的进行左右移入移出显示
js代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | document.querySelectorAll( 'a' ).forEach(elem => { elem.onmouseenter = elem.onmouseleave = e => { const tolerance = 5; const left = 0; const right = elem.clientWidth; let x = e.pageX - elem.offsetLeft; if (x - tolerance < left) x = left; if (x + tolerance > right) x = right; elem.style.setProperty( '--x' , `${x}px`); }; }); |
css 利用伪类标签进行动画效果的动画实现
css代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | a { position : relative ; font-weight : 600 ; text-decoration : none ; color : rgba( 0 , 0 , 0 , 0.4 ); transition: color . 3 s ease; } a::after { --scale: 0 ; content : '' ; position : absolute ; left : 0 ; right : 0 ; top : 100% ; height : 3px ; background : #4c81c9 ; -webkit-transform: scaleX(var(--scale)); transform: scaleX(var(--scale)); -webkit-transform-origin: var(--x) 50% ; transform-origin: var(--x) 50% ; transition: -webkit-transform 0.3 s cubic-bezier( 0.535 , 0.05 , 0.355 , 1 ); transition: transform 0.3 s cubic-bezier( 0.535 , 0.05 , 0.355 , 1 ); transition: transform 0.3 s cubic-bezier( 0.535 , 0.05 , 0.355 , 1 ), -webkit-transform 0.3 s cubic-bezier( 0.535 , 0.05 , 0.355 , 1 ); } a:hover { color : #4c81c9 ; } a:hover::after { --scale: 1 ; } |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
- 这篇文章主要介绍了纯CSS实现导航栏下划线跟随效果,本文图文并茂实例代码详解,给大家介绍的非常详细,需要的朋友参考下吧2019-12-09
- 这篇文章主要介绍了纯CSS实现导航栏下划线跟随的示例代码的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-04-11
- 这篇文章主要介绍了纯CSS实现导航栏下划线跟随滑动效果,需要的朋友可以参考下2018-03-29
- 这篇文章主要介绍了CSS中的下划线text-decoration属性使用进阶,文章前面则使用摘自w3cschool的基本使用知识进行小回顾,需要的朋友可以参考下2015-08-12
- 用过CSS hack的朋友应该知道,用下划线命名也是一种hack,如使用_style这样的命名,可以让IE外的大部分浏览器忽略这个样式的定义。这篇文章主要为大家介绍了css布局命名时2014-06-16
- 下面为大家展示一个实例:未被点击时超链接文字无下划线,显示为蓝色;当鼠标在链接上时有下划线,链接文字显示为红色;当点击链接后,链接无下划线,显示为绿色,感兴趣的2013-06-21
- 本文主要介绍了纯CSS实现了下划线的交互动画效果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学2023-03-06
最新评论