我想知道是否有什么技巧来解决这个问题。
我有一个链接,想将下划线颜色改变。
该链接跨越多行文本,需要将下划线颜色变得比现有的更浅
使用border-bottom并不是解决方案,因为存在跨越多行的情况。
有没有什么技巧可以解决这个问题?
编辑
@Paolo Bergantino: 在IE8中有效,是否可能与IE6,7兼容?
我想知道是否有什么技巧来解决这个问题。
我有一个链接,想将下划线颜色改变。
该链接跨越多行文本,需要将下划线颜色变得比现有的更浅
使用border-bottom并不是解决方案,因为存在跨越多行的情况。
有没有什么技巧可以解决这个问题?
编辑
@Paolo Bergantino: 在IE8中有效,是否可能与IE6,7兼容?
<span class='underline'>
<a href="#">this just<br>a test<br>of underline color</a>
</span>
然后是 CSS:
span.underline {
color: red;
text-decoration: underline;
}
span.underline a {
color: blue;
text-decoration: none;
}
并且你能够得到你想要的。
编辑:
进一步测试后,发现在IE上无法正常工作。然而,如果添加border-bottom,它出奇地可以在所有浏览器中正常工作,但是IE不会在最后一个下方放置边框。我将尝试深入挖掘是否有跨浏览器的方法来解决这个问题...
:before
和 :after
伪元素选择器,那么这个例子会更加酷炫。 - Dan Herbert如果有人感兴趣 - 这对我有效 - text-decoration-color CSS 属性:
.example {
text-decoration: underline;
text-decoration-color: red;
}
https://developer.mozilla.org/zh-CN/docs/Web/CSS/text-decoration-color
2121更新:这很有用!其他有用的CSS是https://developer.mozilla.org/zh-CN/docs/Web/CSS/text-underline-offset,用于控制下划线和文本之间的距离。
Paolo Bergantino的答案在我使用Chrome for OSX (v19.0.1084.56)时似乎不起作用。然而,将span标签移到a标签内部似乎可以解决问题。
HTML代码:
<a class="underline" href="#">
<span>Hello world<br>this is a test<br>of changing the underline colour</span>
</a>
还有 CSS
.underline {
color: red;
}
.underline span {
color: gray;
}
<a href="#" class='underline'>
<span>this just</span><br/>
<span>a test</span><br/>
<span>of underline color</span>
</a>
CSS
a.underline {
text-decoration: none;
}
a.underline span {
display: inline-block;
border-bottom: 1px solid red;
font-size: 15px;
line-height: 12px;
}
抱歉提出一个旧问题,但我遇到了同样的问题,并没有找到令人满意的答案,所以我想到了一个不同的解决方案,并与您分享。
它包括一个1x1的背景图像(或您喜欢的任何大小),但它干净简单 - 并且100%浏览器兼容(从IE6及以上测试)。
此示例具有更改颜色的文本,而下划线保持不变。您也可以轻松地以其他方式完成它。
a, a:link, a:active, a:visited{
text-decoration:none;
color:#888;
background:transparent url('underline.png');
background-position:0 10px;
background-repeat:repeat-x;
}
a:hover{
color:#009ee0;
}
使用:
<a href="your-link/" style="text-decoration-color: COLOROFUNDERLINE;">
我知道这是一个老问题,但我想补充一下...
a:active, a:link, a:visited{
background-image: linear-gradient(rgba(255,255,255,0)50%, #ff5400 50%);
text-decoration: none;
background-size: 2px 2px;
background-position: 0 1.2em;
background-repeat: repeat-x;
}
链接下划线是使用text-decoration CSS样式完成的,我认为它与文本颜色相同。
如果您将text-decoration设置为none,然后添加border-bottom,您可以使用border-color样式更改颜色。