В настоящее время я сталкиваюсь с проблемами исчезновения элемента навигации, использующего псевдоэлементы до и после.
При наведении курсора на элемент навигации он должен изменить цвет фона с белого на синий. Ничего сумасшедшего. Но он также должен отображать два фоновых изображения, соответственно изменяя псевдоэлемент :: before с 0 на 1 и псевдоэлемент :: after с 0 на 1.
Проблема в том, что хотя я установил при той же продолжительности перехода поведение затухания элемента немного отличается по сравнению с переходом цвета фона на самом.
Вы также можете «поиграть» с наведением курсора (jsfiddle), наведя мышку на и быстро, чтобы увидеть проблему более четко.
Если бы кто-нибудь мог помочь мне решить эту тайну, это было бы очень высоко оценено:)
Вот мой jsfiddle: https://jsfiddle.net/5qnw8ke4/
Вот скриншот проблемы перехода: снимок экрана
a {
display: block;
width: 61px;
height: 67px;
margin: 50px;
background-color: #fff;
text-align: center;
font-family: "Roboto", sans-serif;
text-decoration: none;
line-height: 67px;
color: #259cff;
position: relative;
transition: background-color 0.3s, color 0.3s;
}
a::before, a::after {
opacity: 0;
height: 100%;
position: absolute;
top: 0;
content: "";
-webkit-transition: opacity 0.3s,width 0.3s,left 0.3s,right 0.3s;
transition: opacity 0.3s,width 0.3s,left 0.3s,right 0.3s;
}
a::before {
width: 12px;
left: -12px;
background: url("https://svgshare.com/i/J61.svg") no-repeat 0;
background-size: auto 100%;
}
a::after {
width: 12px;
right: -12px;
background: url("https://svgshare.com/i/J4j.svg") no-repeat 100%;
background-size: auto 100%;
}
a:hover {
background-color: #259cff;
color: #fff;
}
a:hover::before, a:hover::after {
opacity: 1;
width: 17px;
}
a:hover::before {
left: -17px;
}
a:hover::after {
right: -17px;
}
<a href="#">My link</a>