我使用锚标记在html中建立了链接。我已经为css中的链接定义了一个未访问的颜色和一个访问过的颜色,如下所示:
#menu{
color:#000000;
position:absolute;
bottom: 20px;
right: 30px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
font-weight: bold;
}
#menu a:link{color:blue;}
#menu a:visited{color:red;}
HTML code:
<div align = " right" id="menu">
<a href="D:\MyFolder\ContactUs.html">Contact Us</a>
</div>
当我在&#34; href&#34;中给出相对地址时锚标签的属性,一切正常。
e.g。 href =&#34; ContactUs.html&#34; - 因为他们在同一个文件夹中
但是当我在&#34; href&#34;中给出绝对地址时锚标签的属性,颜色不会从&#34;蓝色&#34; to&#34; red&#34;访问该页面。它仍然是&#34;蓝色&#34;仅
e.g。 href =&#34; D:\ MyFolder \ ContactUs.html&#34;
请解释为什么会这样?
答案 0 :(得分:3)
请注意,css类适用于visited
而不是clicked
。
因此,当您单击<a href="D:\MyFolder\ContactUs.html">Contact Us</a>
并且浏览器自动检测到它是文件时,它会重定向到file:///d:/MyFolder/ContactUs.html
并将其标记为已访问,而不是您指定的路径。
如上所述,要么改变你的链接,让file:///
在前面,要么使用相对链接(这更有意义)
答案 1 :(得分:2)
我已经测试了两种变体的链接:
1 href="D:\path\file.html"
2 href="file:///d:/path/file.html"
Chrome在两种情况下都将链接设置为:visited
。 Firefox和MSIE仅突出显示访问过的file:///
链接。
如果页面是从http服务器托管的,则在任何情况下都不会在MSIE中将链接标记为已访问。 Firefox和Chrome将访问的file:
链接设置为样式,但只有Firefox允许您关注链接,但只有未设置样式的(!)一个(D:\
,而不是file:
)。
所以你应该使用<a href="file:///d:/MyFolder/ContactUs.html">Contact Us</a>
使它在所有浏览器中都有效,只要两个页面都作为本地文件打开。 (但实际上你应该使用相对链接)。