css如何实现下划线滑动效果


本文摘自PHP中文网,作者V,侵删。

本文主要讲述两种下划线动效效果,第一种悬停时X轴由内向外展开实现动画效果,第二种为左右自动展示,由左向右,或由右向左。

实现的主要效果是利用伪类标签,以及hover,利用transfromm trition实现动画效果。

x轴由内向外展开

05d90f3561df177adfc2def0b0ece12.png

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

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.4s cubic-bezier(0.165, 0.84, 0.44, 1);

}

ul li:hover::after, ul li.active::after {

  transform: scaleX(1);

}

(推荐教程:CSS教程)

左右横移下划线动画特效

81cfb8c583e15a1c62d31c32b374244.png

主要利用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怎么取消边框

css如何实现圆角内凹效果

css border-top-right-radius属性怎么用

css中如何使用@规则?用法介绍

css如何让a标签不可点击

css border-left-style属性怎么用

css篇:如何将页面背景设置渐变效果(代码详解)

css如何设置元素高度自适应

css中的&是什么意思

css如何添加阴影边框(代码实例)

更多相关阅读请进入《css》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...