CSS 实现导航栏下划线效果

一般实现这个效果我们需要借助于js,但是我今天发现一个小技巧了可以单纯通过css就实现,一起来看看吧~

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
<div>
  <ul>
  <li>不可思议</li>
  <li>导航栏</li>
  <li>光标小下划线</li>
  <li>PURE CSS</li>
  <li>Nav Underline</li>
</ul>
  </div>
</body>
</html>
ul {
    display: flex;
    position: absolute;
    width: 800px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    list-style:none
}

li {
    position: relative;
    padding: 20px;
    font-size: 24px;
    color: #000;
    transition: 0.1s all linear;
    cursor: pointer;
}

li::before {
    content: "";
    position: absolute;
    top: 0;
    left: 100%;
    width: 0;
    height: 100%;
    border-bottom: 2px solid #000;
    transition: 0.2s all linear;
}

li:hover::before {
    width: 100%;
    top: 0;
    left: 0;
    transition-delay: 0.1s;
    border-bottom-color: #000;
}

li:hover ~ li::before {
    left: 0;
}

li:active {
    background: #000;
    color: #fff;
}

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,242评论 25 708
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,796评论 1 92
  • 520这样的日子人家都是在秀恩爱,晒幸福,可我们却是以无休止的争吵结束了这天。真是悲哀!晚上十点多结束了白天的六节...
    熙熙_f260阅读 152评论 0 0
  • 12月10号 星期日 晴 真是计划不如变化快,本来今天调出半天时间想着陪陪儿子,谁想临时有事出去了一趟,回来...
    海心之音阅读 209评论 0 1
  • 时间是药 2009-04-11 18:4415爱的幸福 时间是药 爱情里没有谁对谁错,只有谁不珍惜谁。 为了这句话...
    双鱼座的小妮子阅读 127评论 0 0