CSS光标下划线跟随效果

153 阅读1分钟

CSS光标下划线跟随效果

ul {
  display: flex;
  position: absolute;
  width: 800px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

li {
  position: relative;
  padding: 20px;
  font-size: 24px;
  color: #000;
  line-height: 1;
  transition: 0.2s 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;
  z-index: -1;
}

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

li:active {
  background: #000;
  color: #fff;
}
<ul>
    <li>导航一</li>
    <li>导航二</li>
    <li>导航三</li>
    <li>导航四</li>
    <li>导航五</li>
</ul>

image.png