CSS псевдоэлемент в нескольких строках - PullRequest
0 голосов
/ 26 мая 2020

У меня есть анимированная строка под ссылками. Он отлично работает для однострочных ссылок, но у меня есть некоторые ссылки, разделенные разрывами строки <br> Есть ли способ, чтобы анимированное подчеркивание появлялось вдоль всех строк ссылки? Спасибо

body {
  padding: 20px;
  font-family: Helvetica;
}

  a{
    font-weight: bold;
    color: black;
    position: relative;
    text-decoration: none;
  }
  a::before {
    content: "";
    position: absolute;
    width: 0%;
    height: 2px;
    bottom: 0;
    background-color: #000;
    transition: all 0.2s;
  }
  a:hover::before {
    width: 100%;
  }
<a href="">my link</a>
<br><br>
<a href="">this is<br>a much<br>longer link</a>

1 Ответ

2 голосов
/ 26 мая 2020

Используйте градиент, как показано ниже:

body {
  padding: 20px;
  font-family: Helvetica;
}

a {
  font-weight: bold;
  color: black;
  position: relative;
  text-decoration: none;
  background:linear-gradient(#000,#000) left bottom no-repeat;
  background-size:0% 2px;
  transition: all 0.5s;
}

a:hover {
  background-size:100% 2px;
}
/* this will give another kind of animation (all lines will animate at the same time)*/
.alt {
  -webkit-box-decoration-break:clone;
          box-decoration-break:clone;
}
<a href="">my link</a>
<br><br>
<a href="">this is<br>a much<br>longer link</a>
<br><br>
<a class="alt" href="">this is<br>a much<br>longer link</a>

Связано:

Как анимировать подчеркивание слева направо?

Как добиться анимации загрузки текста CSS на нескольких строках?

...