尝试以下CSS:
a:hover i{
display: inline-block; <-- this is the trick
text-decoration:none !important;
}
text-decoration
应用于块级元素,但事实并非如此...所以这没有太多意义。 - doublejoshtext-decoration:none !important;
这句话。 - stealthwang我曾经遇到同样的问题,通过以下css规则解决:
a:-webkit-any-link {text-decoration:none}
有时将代码作为(常规内联)锚点的子元素,有时则不是:
code
font-family: Courier New, Courier, monospace
color: green
background: rgba( white, .2 )
padding: 2px 4px
text-decoration: none
a code
display: inline-block
line-height: normal
text-decoration: underline
你应该添加 line-height: normal
来弥补 inline-block 的影响,否则链接元素的填充将与其他元素不同。(即你的行高很容易开始看起来不一致)
可选:如果你只是因为下划线有一个不同的颜色而感到烦恼(即 外部链接颜色 而不是 code
的绿色),在内部元素上再次设置 text-decoration 可以解决这个问题。
只需添加 display:inline-block;
a:hover i {
display:inline-block;
text-decoration:none !important;
}
你也可以这样编写 HTML
<a href="#">Link</a><i>(2)</i>
以及类似CSS的内容
a{
display:inline-block;
text-decoration:none;
}
我遇到了同样的问题。
但是我想让内部元素在右侧,所以只设置 float: right
就可以了。
a {
display: block;
overflow: hidden; // Clearfix
text-decoration: none;
}
a .right-none-underline-element { float: right }
供参考。
<i>
标签嵌套在<a>
元素中,因此与我提供的两个链接中的问题相同。下划线设置为over并不改变这个问题。答案中提供的解决方案已经在第一个链接中提供了。 - web-tiki