
Выделение ссылки помогает пользователю мгновенно определить кликабельный элемент и понять его назначение. Без чёткого визуального различия навигация по странице становится менее удобной, особенно при большом количестве текста. Простейший способ подчеркнуть ссылку – использовать стандартное оформление браузера, однако при работе с дизайном сайта часто требуется задать собственные правила отображения.
Для базового оформления достаточно задать ссылке тег <a> и использовать свойство text-decoration. Например, text-decoration: underline; добавит привычное подчёркивание, а значение none уберёт его. Чтобы выделение выглядело гармонично, рекомендуется использовать цветовую схему, контрастную по отношению к основному тексту, например color: #0056b3;.
Если важно подчеркнуть ссылку только при наведении курсора, используется псевдокласс :hover. Это создаёт динамическое взаимодействие: a:hover { text-decoration: underline; }. Такой подход помогает сохранять визуальную чистоту текста и при этом показывает интерактивность элемента в момент взаимодействия.
Для более выразительного эффекта можно применить декоративные приёмы: использовать свойство border-bottom с настройкой толщины, цвета и стиля линии, либо добавить анимацию с помощью transition. Такой способ даёт больше контроля над внешним видом и помогает адаптировать оформление под общий стиль сайта.
Как добавить стандартное подчеркивание ссылке через тег <a>

Тег <a> по умолчанию отображает текст с подчеркиванием. Если стиль изменён, можно вернуть стандартное оформление с помощью CSS-свойства text-decoration.
Пример базового синтаксиса:
<a href="https://example.com" style="text-decoration: underline;">Перейти</a>
Чтобы применить оформление ко всем ссылкам на странице, используйте селектор a в CSS:
a {
text-decoration: underline;
}
Если подчеркивание убрано через text-decoration: none;, восстановить его можно переопределением свойства. При конфликте стилей рекомендуется проверить приоритет, добавив !important:
a {
text-decoration: underline !important;
}
Основные значения свойства text-decoration:
| Значение | Описание |
|---|---|
underline |
Добавляет стандартное подчеркивание |
none |
Убирает подчеркивание |
overline |
Линия над текстом |
line-through |
Зачеркнутый текст |
Для точного контроля оформления рекомендуется использовать text-decoration-color и text-decoration-style, если требуется изменить цвет или тип линии.
Как убрать подчеркивание у ссылки с помощью свойства text-decoration
Чтобы удалить стандартное подчеркивание у ссылок, применяют свойство text-decoration со значением none. Это позволяет сохранить интерактивность элемента без визуального оформления по умолчанию.
Пример CSS-кода:
a {
text-decoration: none;
}
Если требуется убрать подчеркивание только при определённых состояниях, можно указать селекторы :hover, :active или :visited. Например:
a:hover {
text-decoration: none;
}
Такой подход часто применяют при кастомизации ссылок, когда внешний вид контролируется другими свойствами, например color или border-bottom. Это обеспечивает гибкость в дизайне без потери функциональности.
Как изменить стиль подчеркивания с помощью text-decoration-style
Свойство text-decoration-style управляет типом линии подчеркивания ссылки. Оно применяется совместно с text-decoration-line: underline;, задавая форму линии.
Доступные значения:
solid– сплошная линия;dotted– пунктир;dashed– штриховая линия;wavy– волнистая линия;double– двойное подчеркивание.
Пример применения:
a {
text-decoration-line: underline;
text-decoration-style: wavy;
text-decoration-color: #0077cc;
}
Цвет линии задается через text-decoration-color. Для тонкой настройки толщины используется text-decoration-thickness. Комбинация этих свойств помогает точно контролировать внешний вид ссылок без использования изображений или псевдоэлементов.
Как настроить цвет и толщину подчеркивания через text-decoration-color и text-decoration-thickness

Свойство text-decoration-color задаёт цвет линии подчеркивания. Оно поддерживает любые значения, применимые к цвету: ключевые слова (red, blue), HEX (#ff0000), RGB и HSL. Например:
a { text-decoration-color: #007acc; }
Для управления толщиной используется text-decoration-thickness. Можно указать фиксированное значение в пикселях, процентах или использовать ключевые слова from-font и auto. Например, чтобы сделать подчеркивание заметнее:
a { text-decoration-thickness: 2px; }
Допускается комбинировать оба свойства для точной настройки стиля:
a { text-decoration-line: underline; text-decoration-color: #ff6600; text-decoration-thickness: 3px; }
Если требуется адаптивная толщина, используйте процентное значение относительно размера шрифта: text-decoration-thickness: 10%;. Такой подход сохраняет визуальную пропорцию при изменении масштаба текста.
Для совместимости с устаревшими браузерами рекомендуется проверять поддержку через @supports или задавать резервное оформление с помощью border-bottom.
Как создать анимированное подчеркивание при наведении курсора

Для анимированного подчеркивания используют псевдоэлементы ::before или ::after вместе с CSS-трансформациями. Это позволяет создавать эффект выезда линии слева направо без изменения структуры HTML.
Пример базового кода:
a {
position: relative;
color: #1a73e8;
text-decoration: none;
}
a::after {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 0;
height: 2px;
background-color: #1a73e8;
transition: width 0.3s ease;
}
a:hover::after {
width: 100%;
}
В данном примере линия высотой 2px появляется плавно при наведении. Свойство transition контролирует скорость анимации, а ease делает движение равномерным.
Для более сложного эффекта можно использовать transform: scaleX(0) и transform-origin:
a::after {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 2px;
background-color: #1a73e8;
transform: scaleX(0);
transform-origin: left;
transition: transform 0.25s ease-out;
}
a:hover::after {
transform: scaleX(1);
}
Такой подход уменьшает влияние на поток текста, сохраняя высоту строки и предотвращая смещение контента при наведении. Можно регулировать transition-duration для ускорения или замедления анимации и менять transform-origin, чтобы линия появлялась справа налево или из центра.
Дополнительно, для многослойных эффектов используют градиенты на фоне псевдоэлемента, что позволяет создавать переливы и постепенные изменения цвета линии при наведении.
Как добавить подчеркивание с помощью псевдоэлементов ::before и ::after

Псевдоэлементы ::before и ::after позволяют создавать декоративные линии без изменения HTML-разметки. Это дает полный контроль над стилем подчеркивания, толщиной, цветом и анимацией.
Пример базового подчеркивания через ::after:
a.custom-underline {
position: relative;
text-decoration: none;
}
a.custom-underline::after {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 2px;
background-color: #007BFF;
}
Ключевые моменты:
- Элемент
aдолжен иметьposition: relative, чтобы псевдоэлемент ::after корректно позиционировался. width: 100%растягивает линию на всю ширину текста.heightзадает толщину линии,background-color– цвет подчеркивания.
Для создания анимации при наведении можно использовать ::before и ::after одновременно:
a.hover-underline {
position: relative;
text-decoration: none;
color: #000;
}
a.hover-underline::before,
a.hover-underline::after {
content: '';
position: absolute;
height: 2px;
background-color: #FF5733;
width: 0;
transition: width 0.3s ease;
}
a.hover-underline::before {
left: 0;
bottom: 0;
}
a.hover-underline::after {
right: 0;
top: 100%;
}
a.hover-underline:hover::before,
a.hover-underline:hover::after {
width: 100%;
}
Рекомендации по использованию:
- Использовать
transitionдля плавного появления линии. - Применять ::before для верхней линии и ::after для нижней, если нужен двойной эффект.
- Контролировать
positionиz-index, чтобы псевдоэлементы не перекрывали текст. - Совместимо с любыми тегами ссылок, включая
<a>внутри блоков<li>или<p>.
Использование ::before и ::after дает возможность создавать динамичные, нестандартные подчеркивания, которые легко адаптируются под дизайн сайта без лишних элементов в HTML.
Как адаптировать подчеркивание ссылок под тёмную и светлую темы

Для обеспечения читаемости ссылок в разных темах важно изменять цвет и стиль подчеркивания в зависимости от фона. Основные подходы:
- Использовать CSS-переменные для цветов ссылок и подчеркиваний:
:root {
--link-color-light: #1a0dab;
--link-underline-light: #1a0dab;
--link-color-dark: #8ab4f8;
--link-underline-dark: #8ab4f8;
}
- Применять медиа-запрос
prefers-color-schemeдля автоматического переключения:
a {
color: var(--link-color-light);
text-decoration: underline;
text-decoration-color: var(--link-underline-light);
text-decoration-thickness: 2px;
}
@media (prefers-color-scheme: dark) {
a {
color: var(--link-color-dark);
text-decoration-color: var(--link-underline-dark);
}
}
- Для точной визуальной настройки использовать
text-decoration-thicknessиtext-underline-offset:
a {
text-decoration-thickness: 2px;
text-underline-offset: 3px;
}
Дополнительно можно применять градиенты для подчеркивания, чтобы подчеркнуть ссылку без изменения цвета текста:
a {
background-image: linear-gradient(currentColor, currentColor);
background-position: 0 100%;
background-repeat: no-repeat;
background-size: 100% 2px;
text-decoration: none;
}
Использование этих методов позволяет поддерживать одинаковый контраст и читабельность ссылок в светлой и тёмной темах, избегая автоматического изменения стандартного подчеркивания браузером.
Вопрос-ответ:
Какие способы есть для подчёркивания ссылки в HTML?
В HTML ссылки по умолчанию отображаются с подчёркиванием благодаря стилю браузера. Это реализуется тегом . Для изменения внешнего вида можно использовать атрибуты CSS, такие как text-decoration. Например, text-decoration: none убирает подчёркивание, а text-decoration: underline его возвращает.
Можно ли сделать подчёркивание ссылки только при наведении мыши?
Да, это делается с помощью псевдокласса :hover в CSS. Например, a:hover { text-decoration: underline; } заставит ссылку подчёркиваться только тогда, когда курсор находится над ней. Остальное время ссылка может оставаться без подчёркивания или с другим стилем.
Как изменить цвет линии подчёркивания ссылки через CSS?
С помощью свойства text-decoration-color можно назначить конкретный цвет подчёркивания. Например, a { text-decoration: underline; text-decoration-color: red; } создаст красную линию под ссылкой. Этот метод работает в современных браузерах и позволяет отделить цвет текста от цвета линии.
Можно ли сделать анимацию для подчёркивания ссылки?
Да, с помощью CSS можно создать эффект появления линии при наведении. Один из вариантов — использовать псевдоэлементы ::after или ::before и менять их ширину через transition. Например, ссылка может быть без линии, а при наведении под ней появится тонкая полоска, плавно увеличивающаяся по ширине.
Чем отличается использование border-bottom от text-decoration для подчёркивания ссылок?
Использование border-bottom создаёт линию, которая технически является границей элемента, а не текстом. Это даёт больше контроля: можно задавать толщину, стиль (solid, dashed), цвет и отступ от текста. В отличие от text-decoration, border-bottom позволяет анимировать линию и делать более сложные визуальные эффекты.
