CSS文本装饰下划线颜色

Wiz*_*ard 93 css text-decorations

可能重复:
更改下划线颜色

只能更改文本下的线条颜色?我希望看到红色字母下面有一条蓝线,但是我找不到如何完成这件事.

小智 119

如果将文本换行到以下范围内,则可以执行此操作:

a {
  color: red;
  text-decoration: underline;
}
span {
  color: blue;
  text-decoration: none;
}
Run Code Online (Sandbox Code Playgroud)
<a href="#">
  <span>Text</span>
</a>
Run Code Online (Sandbox Code Playgroud)

  • @JezenThomas是的,Robuust的答案演示了如何通过边框实现这一点,但是,这个答案演示了如何在文本中实际使用不同的颜色下划线.由于该演示了如何可以做到这一点,重复的问题答案,说这是不可能是完全错误的......所以,随着您的评论你说多余的元素是没有必要的,如果你使用一个边界,而不是文本的` - 装饰:下划线;`? (16认同)
  • @JezenThomas实际上,是的,你通过在边框上使用文字装饰来获得一些东西.在视觉上,当您使用border-bottom时,这会比使用文本修饰更下线.你可以清楚地看到差异,如果你在多行文本中尝试这一点(就像我现在正在做的那样,以及我如何在这个问题上结束). (15认同)
  • 我实际上在尝试修复其他人的代码时偶然发现了这一点,并且无法弄清楚下划线是如何变化而不是文本.谷歌把我送到这里,尽管我试图找到完全相反的答案(使颜色统一,但不知道为什么他们不是) (3认同)
  • @JezenThomas你说额外的元素是没有必要的.如果没有至少两个跨度,你怎么能这样做?无论如何,如果您在右侧包装上应用样式,则此DOES会更改下划线的颜色与具有至少两个跨度的文本相比. (2认同)

Rob*_*Rob 114

(对于同行的googlers,从重复的问题复制)这个答案已经过时,因为现在大多数现代浏览器都支持text-decoration-color.


你很可能需要这个,通过设置边框底部的单词.

a:link {
  color: red;
  text-decoration: none;
  border-bottom: 1px solid blue;
}
a:hover {
 border-bottom-color: green;
}
Run Code Online (Sandbox Code Playgroud)

  • 实际上,该线将低于真实下划线. (29认同)
  • 还要记住,这会导致图像上的链接也具有此边框 - 而不是"text-decoration"的情况 (3认同)
  • 你应该(总是)为图像添加一个无边框(!important). (3认同)
  • 请注意,当文本换行多行时,边框底部将始终显示在元素的整个宽度的底部.真正的下划线仅跟随文本,如果你想要实现这一点,你必须使用额外的跨度方法. (3认同)

Lui*_*uis 15

据我所知,这是不可能的......但你可以尝试这样的事情:

.underline 
{
    color: blue;
    border-bottom: 1px solid red;
}
Run Code Online (Sandbox Code Playgroud)
<div>
    <span class="underline">hello world</span>
</div>
Run Code Online (Sandbox Code Playgroud)


cod*_*ter 5

您无法更改线条的颜色(您不能为同一元素指定不同的前景色,文本及其装饰形成单个元素).但是有一些技巧:

a:link, a:visited {text-decoration: none; color: red; border-bottom: 1px solid #006699; }
a:hover, a:active {text-decoration: none; color: red; border-bottom: 1px solid #1177FF; }
Run Code Online (Sandbox Code Playgroud)

你也可以这样做一些很酷的效果:

a:link {text-decoration: none; color: red; border-bottom: 1px dashed #006699; }
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你.