我想要的是使用HTML和CSS(无JavaScript)来创建仅在鼠标指针悬停在其上时出现的链接。尝试使用CSS“display: none
然后切换到display:block
鼠标悬停对我来说没有用。将visibility: hidden
切换为visibility: visible
进行悬停也是如此。在这两种情况下,链接都是不可见的,但将其悬停在它应该的位置不会使它出现。
因此,我只是设置了前景色以匹配背景色。原油但现在有效,但这意味着如果配色方案发生变化,我必须确保更新两个设置。一个简单的例子:
HTML:
<p> Lorem ipsum sum blah blah blah <a class="outOfSight" href="#theLink">the link</a></p>
<ul>
<li>Just</li>
<li>some</li>
<li>nonsense</li>
<li>to</li>
<li>take</li>
<li>up</li>
<li>space</li>
</ul>
<br>
<a name="theLink">destination</a>
You have reached your destination!
CSS:
.outOfSight {
color: white;
}
.outOfSight:hover {
color: black;
}
它也在http://jsfiddle.net/Bc4pB/4/。
这是唯一的方法吗?或者我不知道的display
或visibility
属性是否有些微妙?还有另一种方式吗?
答案 0 :(得分:2)
答案 1 :(得分:1)
你不能将鼠标悬停在那些不存在的东西上(visibility
和display
都可以取出该元素)。我只想设置opacity: 0
/ opacity: 1
。
答案 2 :(得分:1)
不使用像jQuery这样的东西,这将是你唯一的答案。
将其设置为'visibility:hidden'或'display:none'可以消除交互性。 'display:none'只是完全隐藏它,就像它不在那里,而'visibility:hidden'保持它的'质量',但隐藏它看不见但不幸的是带走了所有的交互性。
其他人建议使用不透明度,这可能有用,但它不是超级浏览器友好的(如果你支持那些仍然使用较旧IE的不幸者)。
答案 3 :(得分:0)
以下是JSFiddle中的示例。
将锚点包围在<span>
中,然后将隐藏应用于跨度的子节点,如下所示:
<p> Lorem ipsum sum blah blah blah
<span class="outOfSight"><a href="#theLink">the link</a></span>
</p>
<ul>
<li>Just</li>
<li>some</li>
<li>nonsense</li>
</ul>
<br>
<a name="theLink">destination</a>
You have reached your destination!
然后你的CSS将是:
.outOfSight { display: inline-block; }
.outOfSight a {
visibility: hidden;
}
.outOfSight:hover a {
visibility: visible;
}
答案 4 :(得分:0)
我认为这对你有用。
<强> CSS 强>
.outOfSight {
display:inline-block;
text-indent:-9999px;
}
.outOfSight:hover {
text-indent:0;
}
有关text-indent属性的更多信息http://www.w3schools.com/cssref/pr_text_text-indent.asp
答案 5 :(得分:0)
.Out {
display:none;
color:black;
text-decoration:none;
}
.Out:hover {
display:inline:
color:red;
}