使用CSS从右向左滑动边框

Mas*_*Dex 3 html css css3 sliding

我有一个标题,我希望在悬停时从右到左有一个边框,如果可能的话,使用纯CSS.

目前,我可以使用以下CSS获得从左到右滑动的边框:

#header a:after {
content: '';
display: block;
border-bottom: 3px solid $(header.hover.color);
width: 0;
-webkit-transition: 1s ease;
        transition: 1s ease;
}

#header a:hover:after { width: 100%; }
Run Code Online (Sandbox Code Playgroud)

有没有人有一个很好的解决方案来完成这项任务?

Bog*_*tan 16

您可以将:after元素放在右侧

#header {
  position: relative;
}
#header a:after {
  content: '';
  display: block;
  border-bottom: 3px solid red;
  width: 0;
  position: absolute;
  right: 0;
  -webkit-transition: 1s ease;
  transition: 1s ease;
}

#header a:hover:after { 
  width: 100%; 
}
Run Code Online (Sandbox Code Playgroud)

  • 因为你只是为width属性设置动画,所以我会像这样编写过渡属性:transition:width 1s ease; (2认同)