我正在尝试创建一个纯css工具提示。我在这里有测试代码:http://jsfiddle.net/RBdn4/
唯一的问题是,在Chrome中,尽管在css中有text-decoration: none;
行,但文字在工具提示上加下划线。
有关如何停止此操作的任何建议?该链接应该加下划线,但.tooltip
文字不应该。
答案 0 :(得分:3)
Chrome会将链接的text-decoration
应用于<div>
,因为它是<a>
的孩子。
在<a>
周围添加一个包装元素,并使工具提示<div>
成为兄弟,而不是<a>
的孩子。当包装器为:hover
时显示工具提示。
哦,让CSS有意义!
<span class="wrap">
<a href="#">this is text</a>
<div class="tooltip"> this is a tooltip</div>
</span>
.tooltip {
color: #000000;
display: none;
left: 50px;
padding: 10px;
position: absolute;
top: 40px;
width: 250px;
text-decoration: none;
z-index: 100;
}
span.wrap:hover .tooltip {
display: block;
}
答案 1 :(得分:0)
Fix'd。您无法覆盖孩子的text-decoration
。此外,请不要将<div>
放入<a>
s,因为 Matt Ball 指出。
答案 2 :(得分:0)
当元素嵌套时,我无法阻止Chrome中的下划线发生,但我可以通过让它们成为兄弟姐妹来解决问题。
只需从<div>
标记内删除<a>
,然后将其放在旁边,就像这样:
<a href="#">this is text</a>
<div class="tooltip"> this is a tooltip</div>
并使用CSS +
选择器(相邻的兄弟)选择悬停的工具提示,而不是子选择器。
.tooltip{
display: none;
}
a:hover+.tooltip{
color: #000000;
display: block;
left: 50px;
padding: 10px;
position: absolute;
top: 40px;
width: 250px;
text-decoration: none;
z-index: 100;
}
原始对CSS的唯一更改是将空格更改为加号。
注意+
选择器在IE6中不起作用。希望你不打算支持这个简陋的旧浏览器,对吗?