Поскольку вы не можете обозначить какой цвет второй цвет для текста подчеркиванием, одна стратегия, чтобы удалить его и использовать границу.
.link-articles
{
border-bottom: solid 1px blue;
text-decoration: none;
}
.link-articles:hover
{
border-bottom-color: red;
}
Обратите внимание, что если вы оставите text-underline
, он будет смещаться вниз при наведении курсора мыши, так как это помещение не точно так же, как местоположение нижней границы.
Этот подход имеет дополнительное преимущество, будучи в состоянии
позиции подчеркивание с помощью
line-height
и
имеют стили альтернативной линии, путем замены solid
с dotted
или dashed
.
Borderless подход:
Как @Pacerier указывает в комментариях, здесь альтернативную стратегию, используя псевдо-классы и содержание CSS (JSFiddle):
.link-articles
{
position: relative;
}
.link-articles[href="#articles"]:after
{
content: 'My Articles';
}
.link-articles:after
{
color: red;
left: 0;
position: absolute;
top: 0;
}
Однако, с анти aliasing, он может иметь некоторое цветовое смешение на краях текста. Если вам не нравится мысль вручную положить content
в свой CSS, вы можете использовать атрибут или дублирующий элемент.
Мы ** можем ** указать цвет подчеркивания текста, поскольку он будет таким же, как цвет текста. Чтобы иметь два разных цвета для шрифта и подчеркивания, нам нужно ** наложить ** новый текст над ним, чтобы старый цвет текста был покрыт новым цветом текста. – Pacerier
Спасибо за разъяснение, @Pacerier. Я обновил свой ответ, чтобы включить подход с использованием текстовых оверлеев. Лично мне нравится пограничный подход, потому что вы можете точно настроить его позиционирование с помощью 'line-height' и использовать разные стили границ, такие как' dotted'. – Quantastical
Как точно можно управлять положением линии с помощью 'line-height'? Когда я тестирую в Safari, расстояние от строки не изменяется. Большая длина строки, чем окружающий текст, просто увеличивает пространство до следующей строки. Меньшая высота линии не имеет никакого эффекта. Расстояние от текста не меняется. Возможно, он работает в других браузерах, но тогда он полезен только в контролируемых средах, таких как интрасети. –