Меняется цвет сначала на черный, а потом на бирюзовый

Мне нужно сделать так, чтобы цвет пункта менялся на бирюзовый сразу, но сейчас он меняется на одну миллисекунду на черный, а потом только на бирюзовый.

<nav>
                        <ul class="menu d-flex">
                            <li class="menu__item"><a href="#">
                                Главная
                            </a></li>
                            <li class="menu__item"><a href="#">
                                Магазин
                            </a></li>
                            <li class="menu__item"><a href="#">
                                О бренде
                            </a></li>
                            <li class="menu__item"><a href="#">
                                Контакты
                            </a></li>
                        </ul>
   </nav>

CSS

a {
    color: #000;
    text-decoration: none;
}

a:hover {
    color: #6E9C9F;
    text-decoration: none;
}

header {
    background: linear-gradient(to right, white 55%, #F1EADC 45%);
    height: 1000px;
}

.logo {
    display: block;
    margin-top: 51px;
}

.menu {
    margin-top: 56px;
}

.menu__item {
    font-size: 15px;
    line-height: 1.4em;
    letter-spacing: 0.02em;
    font-weight: 400;
    margin-right: 45px;
}

.menu__item a:hover {
    transition: all ease 0.5s;
    font-weight: 700;
}

.menu__item:last-of-type {
    margin-right: 0;
}

Ответы (1 шт):

Автор решения: Zhihar

но сейчас он меняется на одну миллисекунду на черный, а потом только на бирюзовый.

дело в том, что ссылка у вас с font-weight: 400 (нормальный), а после наведения с font-weight: 700 (жирный)

и изменение состояния надписи происходит постоянно эффект за эффектом

сначала у вас уходит время чтобы нежирный текст стал жирным (это 2 состояния без плавного перехода), а потом меняется цвет с черного на бирюзовый (это уже с плавным переходом)

поэтому и кажется, что сначала долго держится черный цвет - пока он с нормального на жирный переходит

поэтому оставьте анимацию только для цвета, без жирности:

transition: color ease 0.5s;

теперь остается еще один чисто психологический эффект - хотя цвет и меняется с черного на бирюзовый плавно, глаз долго темно-бирюзовый будет воспринимать как черный, поэтому переход надо сделать чуть-чуть другим

transition: color cubic-bezier(0.08, 0.78, 0.53, 0.59) 0.5s;

тут надо поиграться с цифрами, чтобы вначале где-то до 0.3 быстро было пройдено изменения цвета, а потом уже более плавно и неторопливо

https://cubic-bezier.com/#.08,.78,.53,.59 - сайт в помощь

→ Ссылка