Depois de várias tentativas, obtive o seguinte resultado:
A borda apresenta uma animação de carregamento, porém ela diminui de tamanho à medida que a animação gira. Por exemplo, a borda inicia com 5px e, à medida que a animação gira, seu tamanho diminui gradualmente. Preciso que ela fique sempre com o mesmo tamanho e que a animação fique mais suave.
HTML:
<div class="col-auto navigation-item">
<a class="h-mn-color navigation-link h-100 d-flex justify-content-center align-items-center pt-4 pb-4" href="https://fotonsol.bagypro.com/eletrica" aria-label="Iluminação">
<span class="d-flex justify-content-center align-items-center text-center px-4">Iluminação</span>
</a>
<div class="menu-dropdown position-absolute" style="border: solid .1rem #FFD600;">
<div class="menu-dropdown-container py-3">
<div class="row no-gutters">
<div class="menu-dropdown-item col-12 position-relative px-3">
<a href="https://fotonsol.bagypro.com/leds" class="menu-dropdown-link d-flex justify-content-start align-items-center p-3">
<span class="text">Fitas de Led</span>
</a>
</div>
<div class="menu-dropdown-item col-12 position-relative px-3">
<a href="https://fotonsol.bagypro.com/lampadas-de-led" class="menu-dropdown-link d-flex justify-content-start align-items-center p-3">
<span class="text">Lâmpadas de Led</span>
</a>
</div>
</div>
</div>
</div>
</div>
CSS:
.menu-dropdown {
position: relative;
border: 5px solid #e4d500;
animation: loadingBorder 1s linear infinite;
}
@keyframes loadingBorder {
0% {
border: 5px solid #e4d500;
}
25% {
border-image: linear-gradient(90deg, #e4d500, #e78b00);
border-image-slice: 1;
}
50% {
border-image: linear-gradient(90deg, #e78b00, #e4d500);
border-image-slice: 1;
}
75% {
border-image: linear-gradient(90deg, #e4d500, #e78b00);
border-image-slice: 1;
}
100% {
border-image: linear-gradient(90deg, #e78b00, #e4d500);
border-image-slice: 1;
}
}