Как сделать подчеркивание в css другим цветом?

Возможно ли сделать подчеркивание текста в css цветом отличным от цвета текста?
Чтобы получилось вот так:
- Вопрос задан более трёх лет назад
- 7450 просмотров
1 комментарий
Простой 1 комментарий
Радуемся здесь, или просто гуглим text-decoration-color, а также text-decoration-offset и text-decoration-thickness.
Решения вопроса 1
Если нужно соответствие макету (непрерывная линия) — использовать border-bottom.
Если нужно просто подчеркивание текста — использовать text-decoration: underline.
Но в последнем случае иметь в виду что некоторые браузеры используют text-decoration-skip: ink по умолчанию — линия будет прерываться для элементов выходящих за базовую линию. (Например под буквами «p» на верхней строке).
Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать
Ответы на вопрос 4
ismuhanovv @ismuhanovv
Здесь скорей всего используется < hr >со стилями, а так вот
p text-decoration: underline;
text-decoration-color: red;
>
Ответ написан более трёх лет назад
Комментировать
Нравится 3 Комментировать
border-bottom: solid 5px #74b988;
Только цвет свой и толщину поставьте.
Ответ написан более трёх лет назад
Нравится 2 1 комментарий
Кстати, странно, но подчёркивание на разном расстоянии от шрифта.
На 2 строке заметно ниже.
Это фича или бага? В смысле надо ли это воспроизвести?
text — decoration — color
Раскрашивает декоративные линии текста во все цвета радуги.
Время чтения: меньше 5 мин
Открыть/закрыть навигацию по статье
Обновлено 5 июля 2023
Кратко
Скопировать ссылку «Кратко» Скопировано
Свойство text — decoration — color определяет цвет декоративной линии (подчёркивания, зачёркивания и других), заданной при помощи text — decoration — line .
Кстати, декоративные линии можно интересно стилизовать при помощи text — decoration — style
Пример
Скопировать ссылку «Пример» Скопировано
Зададим для слов, обозначающих цвет в тексте, двойное нижнее подчёркивание, и разукрасим линии в нужные цвета:
span text-decoration-line: underline; text-decoration-style: double;> .red text-decoration-color: red;> .yellow text-decoration-color: yellow;> .white text-decoration-color: white;>span text-decoration-line: underline; text-decoration-style: double; > .red text-decoration-color: red; > .yellow text-decoration-color: yellow; > .white text-decoration-color: white; >
Как пишется
Скопировать ссылку «Как пишется» Скопировано
Значение text — decoration — color по умолчанию — current Color , то есть цвет такой же, что и у текста.
body color: #735184;> span text-decoration-line: underline; text-decoration-style: double;>body color: #735184; > span text-decoration-line: underline; text-decoration-style: double; >
В примере выше цвет двойного подчёркивания серобуромалиновый, поскольку для самого текста задан этот цвет, а значит и current Color для text — decoration — color будет значиться серобуромалиновым.
Это можно легко поменять: text — decoration — color принимает цвет в любом доступном формате, например, жёлтый yellow или фиолетовый #8b00ff .
Раскрасить можно не только text — decoration — line , но и линии, обозначенные в HTML-разметке тегами, например или . У text — decoration — color краски хватит на всех!
del text-decoration-color: orange;>del text-decoration-color: orange; >
text — decoration
Добавляем любому тексту чёрточку. Или убираем, где она есть, но не нужна.
Время чтения: меньше 5 мин
Открыть/закрыть навигацию по статье
Контрибьюторы:
- Егор Левченко ,
- Светлана Коробцева
Обновлено 5 июля 2023
Кратко
Скопировать ссылку «Кратко» Скопировано
Свойство text — decoration позволяет добавить декоративные линии тексту. Текст можно подчеркнуть, перечеркнуть или добавить линию над текстом.
text — decoration : underline часто встречается при работе со ссылками.
Пример
Скопировать ссылку «Пример» Скопировано
Создадим четыре абзаца текста. По одному для каждого из доступных значений свойства text — decoration .
Диакритические знаки.
В типографике.
Диакритическими знаками не могут.
Черта сверху — типографический знак.
div class="parent"> p class="none">Диакритические знаки. p> p class="underline">В типографике. p> p class="line-through">Диакритическими знаками не могут. p> p class="overline">Черта сверху — типографический знак. p> div>
.none /* Значение по умолчанию, ничего не меняется */ text-decoration: none;> .underline /* Нижнее подчёркивание */ text-decoration: underline;> .line-through /* Перечёркнутый текст */ text-decoration: line-through;> .overline /* Линия над текстом */ text-decoration: overline;>.none /* Значение по умолчанию, ничего не меняется */ text-decoration: none; > .underline /* Нижнее подчёркивание */ text-decoration: underline; > .line-through /* Перечёркнутый текст */ text-decoration: line-through; > .overline /* Линия над текстом */ text-decoration: overline; >
Как понять
Скопировать ссылку «Как понять» Скопировано
По факту свойство text — decoration является шорткатом и позволяет указать значения для свойств:
- text — decoration — line — положение декоративной линии;
- text — decoration — style — стиль декоративной линии;
- text — decoration — color — цвет декоративной линии.
Но, как правило, его используют только для указания положения линии.
Как пишется
Скопировать ссылку «Как пишется» Скопировано
Положение линии
Скопировать ссылку «Положение линии» Скопировано
Пишем свойство text — decoration и после двоеточия указываем одно из доступных значений:
- underline — подчёркнутый текст.
- line — through — перечёркнутый текст.
- overline — надчёркнутый текст, линия находится над словами.
- none — отменяет все эффекты.
Выше указаны стандартные значения, с которыми вы будете сталкиваться чаще всего.
Стиль линии
Скопировать ссылку «Стиль линии» Скопировано
Не многие знают, что после ключевого слова, означающего положение линии, можно указать ещё и стиль этой линии и её цвет.
Для управления стилем линии используются следующие ключевые слова:
- solid — сплошная линия. Значение по умолчанию.
- double — двойная линия.
- dotted — точечная линия.
- dashed — пунктирная линия.
- wavy — волнистая линия.
Управлять стилем подчёркивания обычно не требуется, но об этой возможности знать нужно.
Как будет выглядеть двойное перечёркивание:
p text-decoration: line-through double;>p text-decoration: line-through double; >
Стиль линии можно указать отдельно при помощи свойства text — decoration — style .
Цвет линии
Скопировать ссылку «Цвет линии» Скопировано
Цвет линии по умолчанию совпадает с цветом текста, для которого задаётся свойство text — decoration .
Мы можем изменить это значение, указав после ключевых слов типа и стиля линии код цвета в любом доступном в вебе формате.
Например, сделаем двойное подчёркивание красного цвета:
p text-decoration: underline double #ff0000;>p text-decoration: underline double #ff0000; >
Цветом линии можно управлять отдельно при помощи свойства text — decoration — color :
Подсказки
Скопировать ссылку «Подсказки» Скопировано
Свойство не наследуется.
Значение по умолчанию для обычного текста — none . Но для ссылок ( ) значение по умолчанию — underline .
Свойство text — decoration целиком нельзя анимировать при помощи свойства transition
Но можно анимировать цвет линии!
Пусть по умолчанию цвет линий будет совпадать с цветом текста, а по наведению курсора цвет будет меняться на другой за 0.3 секунды.
К диакритикам.
Дополнение подчёркивается.
Эпанортозис.
В большинстве языков.
p class="none">К диакритикам. p> p class="underline">Дополнение подчёркивается. p> p class="line-through">Эпанортозис. p> p class="overline">В большинстве языков. p>
p transition: text-decoration-color 0.3s;> .none text-decoration: none;> .underline text-decoration: underline;> .line-through text-decoration: line-through;> .overline text-decoration: overline;> .dotted text-decoration-style: dotted;> .double text-decoration-style: double;> .wavy text-decoration-style: wavy;> .blue:hover text-decoration-color: #1a5ad7;> .red:hover text-decoration-color: #ed6742;> .green:hover text-decoration-color: #49a16c;>p transition: text-decoration-color 0.3s; > .none text-decoration: none; > .underline text-decoration: underline; > .line-through text-decoration: line-through; > .overline text-decoration: overline; > .dotted text-decoration-style: dotted; > .double text-decoration-style: double; > .wavy text-decoration-style: wavy; > .blue:hover text-decoration-color: #1a5ad7; > .red:hover text-decoration-color: #ed6742; > .green:hover text-decoration-color: #49a16c; >
Нельзя управлять толщиной и точным положением линии, заданной при помощи text — decoration .
Если по дизайну требуется задать тексту или ссылке подчёркивание, отличающееся от стандартного по толщине или положению, а также если нужно анимировать появление / пропадание линии, то используй псевдоэлементы : : before или : : after .
На практике
Скопировать ссылку «На практике» Скопировано
Егор Левченко советует
Скопировать ссылку «Егор Левченко советует» Скопировано
Иногда вам может потребоваться управлять расстоянием между текстом и линией ниже. Обычно это делается, через свойство line — height . Чем больше высота строки, тем ниже будет полоса подчёркивания.
К сожалению, этот способ подходит не всегда. Например, когда дизайнер задумал элемент несколько иначе. На примере ниже отказываемся от text — decoration и используем border — bottom или логический аналог border — block — end .
О магазине О тыквах О нас КонтактыМагазин «Резная тыква»
header> div class="container top"> nav> ul class="navigation"> li class="navigation__item"> a href="#" class="navigation__link">О магазинеa> li> li class="navigation__item"> a href="#" class="navigation__link">О тыквахa> li> li class="navigation__item"> a href="#" class="navigation__link">О насa> li> li class="navigation__item"> a href="#" class="navigation__link">Контактыa> li> ul> nav> div> div class="container"> h1>Магазин «Резная тыква»h1> div> header>
.navigation__link, .navigation__link:visited /* делаем элементы строчно-блочными */ display: inline-block; /* убираем подчёркивание */ text-decoration: none;> .navigation__link:hover /* нивелируем размеры рамки */ padding-bottom: 20px; /* добавляем рамку снизу */ border-bottom: 4px solid currentColor;>.navigation__link, .navigation__link:visited /* делаем элементы строчно-блочными */ display: inline-block; /* убираем подчёркивание */ text-decoration: none; > .navigation__link:hover /* нивелируем размеры рамки */ padding-bottom: 20px; /* добавляем рамку снизу */ border-bottom: 4px solid currentColor; >
Открыть демо в новой вкладке + Развернуть
Алёна Батицкая советует
Скопировать ссылку «Алёна Батицкая советует» Скопировано
У ссылок по умолчанию задано подчёркивание. Если по дизайну оно не требуется, то нужно будет его сбросить — задать свойство text — decoration : none . Это самый частый случай применения этого свойства. Перечёркивание или надчёркивание почти не встречаются в работе.
Отдельные свойства — text — decoration — line , text — decoration — style и text — decoration — color — редко встречаются в вёрстке, но знать о них нужно, чтобы при необходимости не переписывать свойство целиком только для изменения стиля или цвета линии.
text-decoration-color
Устанавливает цвет линии, которая добавляется через свойство text-decoration.
Краткая информация
| Значение по умолчанию | Совпадает с цветом текста |
|---|---|
| Наследуется | Нет |
| Применяется | Ко всем элементам |
| Анимируется | Да |
Синтаксис
text-decoration-color:
| Описание | Пример | |
|---|---|---|
| Указывает тип значения. | ||
| A && B | Значения должны выводиться в указанном порядке. | && |
| A | B | Указывает, что надо выбрать только одно значение из предложенных (A или B). | normal | small-caps |
| A || B | Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. | width || count |
| [ ] | Группирует значения. | [ crop || cross ] |
| * | Повторять ноль или больше раз. | [,]* |
| + | Повторять один или больше раз. | + |
| ? | Указанный тип, слово или группа не является обязательным. | inset? |
| Повторять не менее A, но не более B раз. | ||
| # | Повторять один или больше раз через запятую. | # |
Значения
Песочница
Винни-Пух был всегда не прочь немного подкрепиться, в особенности часов в одиннадцать утра, потому что в это время завтрак уже давно окончился, а обед ещё и не думал начинаться. И, конечно, он страшно обрадовался, увидев, что Кролик достаёт чашки и тарелки.
Пример
В данном примере ссылки подчёркиваются красной линией.
Объектная модель
Объект.style.textDecorationColor
Примечание
Firefox до версии 36 поддерживает свойство -moz-text-decoration-color .
Safari поддерживает свойство -webkit-text-decoration-color .
Спецификация
| Спецификация | Статус |
|---|---|
| CSS Text Decoration Module Level 3 | Возможная рекомендация |
Спецификация
Каждая спецификация проходит несколько стадий одобрения.
- Recommendation ( Рекомендация ) — спецификация одобрена W3C и рекомендована как стандарт.
- Candidate Recommendation ( Возможная рекомендация ) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
- Proposed Recommendation ( Предлагаемая рекомендация ) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
- Working Draft ( Рабочий проект ) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
- Editor’s draft ( Редакторский черновик ) — черновая версия стандарта после внесения правок редакторами проекта.
- Draft ( Черновик спецификации ) — первая черновая версия стандарта.
Браузеры
| 79 | 57 | 44 | 8 | 6 | 36 |
| 80 | 6 | 36 | 46 | 8 |
В таблице браузеров применяются следующие обозначения.
- — элемент полностью поддерживается браузером;
- — элемент браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.
Число указывает версию браузреа, начиная с которой элемент поддерживается.
См. также
- text-decoration
- text-decoration-line
- text-decoration-style
Рецепты
- Как сделать волнистое подчёркивание текста?
- Как сделать подчёркивание заголовка?
Справочник CSS
- !important
- ::after
- ::backdrop
- ::before
- ::first-letter
- ::first-line
- ::marker
- ::placeholder
- ::selection
- :active
- :blank
- :buffering
- :checked
- :default
- :dir
- :disabled
- :empty
- :enabled
- :first-child
- :first-of-type
- :focus
- :focus-within
- :fullscreen
- :hover
- :in-range
- :indeterminate
- :invalid
- :is()
- :lang()
- :last-child
- :last-of-type
- :link
- :muted
- :not()
- :nth-child()
- :nth-last-child()
- :nth-last-of-type()
- :nth-of-type()
- :only-child
- :only-of-type
- :optional
- :out-of-range
- :paused
- :placeholder-shown
- :playing
- :read-only
- :read-write
- :required
- :root
- :seeking
- :stalled
- :target
- :valid
- :visited
- :volume-locked
- @charset
- @document
- @font-face
- @import
- @keyframes
- @media
- @page
- @supports
- @viewport
- accent-color
- align-content
- align-items
- align-self
- all
- animation
- animation-delay
- animation-direction
- animation-duration
- animation-fill-mode
- animation-iteration-count
- animation-name
- animation-play-state
- animation-timing-function
- aspect-ratio
- backdrop-filter
- backface-visibility
- background
- background-attachment
- background-blend-mode
- background-clip
- background-color
- background-image
- background-origin
- background-position
- background-position-x
- background-position-y
- background-repeat
- background-size
- block-size
- border
- border-bottom
- border-bottom-color
- border-bottom-left-radius
- border-bottom-right-radius
- border-bottom-style
- border-bottom-width
- border-collapse
- border-color
- border-image
- border-left
- border-left-color
- border-left-style
- border-left-width
- border-radius
- border-right
- border-right-color
- border-right-style
- border-right-width
- border-spacing
- border-style
- border-top
- border-top-color
- border-top-left-radius
- border-top-right-radius
- border-top-style
- border-top-width
- border-width
- bottom
- box-decoration-break
- box-shadow
- box-sizing
- caption-side
- caret-color
- clear
- clip
- color
- column-count
- column-fill
- column-gap
- column-rule
- column-rule-color
- column-rule-style
- column-rule-width
- column-span
- column-width
- columns
- content
- counter-increment
- counter-reset
- cursor
- direction
- display
- empty-cells
- filter
- flex
- flex-basis
- flex-direction
- flex-flow
- flex-grow
- flex-shrink
- flex-wrap
- float
- font
- font-family
- font-kerning
- font-size
- font-stretch
- font-style
- font-variant
- font-weight
- gap
- height
- hyphenate-character
- hyphenate-limit-chars
- hyphens
- image-rendering
- justify-content
- left
- letter-spacing
- line-clamp
- line-height
- list-style
- list-style-image
- list-style-position
- list-style-type
- margin
- margin-bottom
- margin-left
- margin-right
- margin-top
- marks
- max-height
- max-width
- min-height
- min-width
- mix-blend-mode
- object-fit
- opacity
- order
- orphans
- outline
- outline-color
- outline-offset
- outline-style
- outline-width
- overflow
- overflow-x
- overflow-y
- padding
- padding-block
- padding-block-end
- padding-block-start
- padding-bottom
- padding-inline
- padding-inline-end
- padding-inline-start
- padding-left
- padding-right
- padding-top
- page-break-after
- page-break-before
- page-break-inside
- perspective
- perspective-origin
- place-content
- pointer-events
- position
- quotes
- resize
- right
- row-gap
- scroll-behavior
- tab-size
- table-layout
- text-align
- text-align-last
- text-decoration
- text-decoration-color
- text-decoration-line
- text-decoration-skip-ink
- text-decoration-style
- text-emphasis
- text-emphasis-color
- text-emphasis-position
- text-emphasis-style
- text-fill-color
- text-indent
- text-orientation
- text-overflow
- text-shadow
- text-stroke
- text-stroke-color
- text-stroke-width
- text-transform
- top
- transform
- transform-origin
- transform-style
- transition
- transition-delay
- transition-duration
- transition-property
- transition-timing-function
- unicode-bidi
- user-select
- vertical-align
- visibility
- white-space
- widows
- width
- word-break
- word-spacing
- word-wrap
- writing-mode
- z-index
- zoom