在我的HTML代码中,我有a
标记,其中继承了span
标记。我现在的问题是如何才能实现链接元素中的文本在悬停和span-element上加下划线?
HTML:
<a class="tooltip" href="#">
Link, should be underlined on hover.
<span class="custom info">Span, shouldn't be underlined on hover.</span>
</a>
CSS:
/* General settings */
a { color: black; text-decoration: none }
a:visited { color: black; }
a:hover { color: #1af; text-decoration: underline }
/* End */
.tooltip {
position: relative;
}
.tooltip span {
display:none;
position: absolute;
white-space:nowrap;
border-radius: 5px 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px;
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
-webkit-box-shadow: 5px 5px rgba(0, 0,0, 0.1);
-moz-box-shadow: 5px 5px rgba(0, 0, 0, 0.1);
font-family: Calibri, Tahoma, Geneva, sans-serif;
margin-left: 0;
z-index: 1;
text-decoration: none;
}
a.tooltip:hover span {
display:block;
text-decoration: none;
}
答案 0 :(得分:2)
您可以添加另一个范围(AKA HTML的内联管道胶带)并将:hover
样式移动到:
<a class="tooltip" href="#">
<span class="hack">Link, should be underlined on hover.</span>
<span class="custom info">Span, shouldn't be underlined on hover.</span>
</a>
和
a:hover span.hack { color: #1af; text-decoration: underline }
/*...*/
.tooltip span.info {
/*...*/
/* Remove text-decoration */
}
a.tooltip:hover span {
display:block;
}
演示:http://jsfiddle.net/ambiguous/UWgcc/1/
您可能想要重命名hack
课程,我只是对此诚实。
如果您只是想弄乱.tooltip
个链接,那么您可以将其添加到上面:
a:hover { color: #1af; text-decoration: underline }
a.tooltip:hover { color: #000; text-decoration: none }
答案 1 :(得分:1)
更简单的解决方法
a:hover { color: #1af; border-bottom:1px solid #f0f; }
/* ...snip... */
a.tooltip:hover span {
display:block;
border-bottom:0;
}
删除文本修饰并将其替换为border-bottom属性。