纯css制作导航下划线

不可思议的纯CSS导航栏下划线跟随效果

先上张图,如何使用纯 CSS 制作如下效果?

纯css制作导航下划线

在继续阅读下文之前,你可以先缓一缓。尝试思考一下上面的效果或者动手尝试一下,不借助 JS ,能否巧妙的实现上述效果。

OK,继续。这个效果是我在业务开发的过程中遇到的一个类似的小问题。其实即便让我借助 Javascript ,我的第一反应也是,感觉很麻烦啊。所以我一直在想,有没有可能只使用 CSS 完成这个效果呢?

  1. <ul>
  2.   <li>不可思议的CSS</li>
  3.   <li>导航栏</li>
  4.   <li>光标下划线跟随</li>
  5.   <li>PURE CSS</li>
  6.   <li>Coco</li>
  7. </ul>

CSS

  1. ul {
  2.     display: flex;
  3.     position: absolute;
  4.     width: 800px;
  5.     top: 50%;
  6.     left: 50%;
  7.     transform: translate(-50%, -50%);
  8. }
  9. li {
  10.     position: relative;
  11.     padding: 20px;
  12.     font-size: 24px;
  13.     color: #000;
  14.     line-height: 1;
  15.     transition: 0.2s all linear;
  16.     cursor: pointer;
  17. }
  18. li::before {
  19.     content: "";
  20.     position: absolute;
  21.     top: 0;
  22.     left: 100%;
  23.     width: 0;
  24.     height: 100%;
  25.     border-bottom: 2px solid #000;
  26.     transition: 0.2s all linear;
  27. }
  28. li:hover::before {
  29.     width: 100%;
  30.     top: 0;
  31.     left: 0;
  32.     transition-delay: 0.1s;
  33.     border-bottom-color: #000;
  34. }
  35. li:hover ~ li::before {
  36.     left: 0;
  37. }
  38. li:active {
  39.     background: #000;
  40.     color: #fff;
  41. }

黄良钵

博客站长,前端开发工程师

2 条评论

  1. 越来越6了,这个必须前排支持。

    • 黄良钵

      这篇是我转载的 [偷笑]

发表评论

电子邮件地址不会被公开。 必填项已用*标注

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

纯css制作导航下划线
返回顶部
网站稳定运行 : {{ diffYears }}年 零 {{ diffDays }}天 {{ diffHours }} 小时 {{ diffMinutes }} 分钟 {{ diffSeconds }} 秒

显示

忘记密码?

显示

显示

获取验证码

Close