新闻中心

Css和JS如何实现下划线动效

小编给大家分享一下Css和JS如何实现下划线动效,和何实划线希望大家阅读完这篇文章之后都有所收获,现下下面让我们一起去探讨吧!动效

实现的和何实划线主要效果是利用伪类标签,以及hover,现下利用transfromm trition实现动画效果

x轴由内向外展开

利用贝塞尔曲线利用横线的动画实现,具体代码如下:

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.4s cubic-bezier(0.165,动效 0.84, 0.44, 1);}ul li:hover::after, ul li.active::after {   transform: scaleX(1);}

左右横移下划线动画特效

主要利用js判断鼠标移开时的位置,对动画效果的和何实划线进行左右移入移出显示
 

js代码如下:

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代码如下:

a {   position: relative;  font-weight: 600;  text-decoration: none;  color: rgba(0, 0, 0, 0.4);  transition: color .3s 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.3s cubic-bezier(0.535, 0.05, 0.355, 1);  transition: transform 0.3s cubic-bezier(0.535, 0.05, 0.355, 1);  transition: transform 0.3s cubic-bezier(0.535, 0.05, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.535, 0.05, 0.355, 1);}a:hover {   color: #4c81c9;}a:hover::after {   --scale: 1;}

看完了这篇文章,相信你对“Css和JS如何实现下划线动效”有了一定的现下了解,如果想了解更多相关知识,动效欢迎关注本站行业资讯频道,和何实划线感谢各位的现下阅读!

动效

上一篇:《奇幻与砍杀》向魔神许愿奖励一览 下一篇:适用于奥德赛扶手箱专用混动艾力绅中央手扶箱带冰箱22款改装配件

Copyright © 2023 imtoken钱包安卓版下载 版权所有   网站地图