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

Чтобы создать плавное подчеркивание при наведении на текст в CSS, можно использовать свойство text-decoration и псевдокласс :hover. Рассмотрим пример:

HTML:

<span class="underline">Текст с подчеркиванием</span>

CSS:

.underline {
    position: relative;
    text-decoration: none;
    color: black;
    transition: all 0.4s;
}
 
.underline:hover {
    text-decoration: none;
    color: blue;
}
 
.underline::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: -2px;
    left: 0;
    background-color: blue;
    visibility: hidden;
    transition: all 0.4s ease-in-out;
}
 
.underline:hover::after {
    visibility: visible;
    transform: scaleX(1);
}

В этом примере мы добавляем плавное подчеркивание при наведении на текст.

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

Мы также устанавливаем свойство text-decoration: none для исключения дефолтного подчеркивания.

Также мы добавляем свойство transition для создания плавного эффекта.

Затем мы добавляем псевдоэлемент ::after, который создает подчеркивание. Устанавливаем ему абсолютное позиционирование и задаем его высоту и ширину. Вертикальное расположение подчеркивания устанавливается свойством bottom.

Когда наш текст наводится мышью, мы изменяем цвет текста на синий и высвечиваем наше подчеркивание с помощью псевдоэлемента ::after.

Запомните, что ::before и ::after — это псевдоэлементы относящиеся к элементу. ::after — это псевдоэлемент, который относится к концу элемента, а ::before относится к началу элемента.

реклама

Качественный хостинг сайтов

реклама

Получите консультацию нашего маркетолога

Изучит ваш проект, подберет подходящие услуги и тарифы

Получите бесплатный аудит

Наш специалист сделает базовый аудит вашего проекта и предложит персональные предложения.

Закажите услугу Как сделать плавное подчеркивание при наведении css

Наш специалист свяжется с вами в ближайшее время и уточнит детали