【发布时间】:2011-10-11 05:59:10
【问题描述】:
在我的 HTML 代码中,我有 a 标记,并继承了 span 标记。我现在的问题是如何实现链接元素中的文本在悬停时加下划线而跨度元素不加下划线?
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;
}
【问题讨论】:
-
为什么不把span放在a标签外面?
-
因为它充当工具提示,所以在用户将鼠标悬停在类工具提示上之前它是隐藏的。
标签: css hyperlink html text-decorations