好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

:visited

CSS :visited 伪类用于选择页面中被访问过的超链接元素,并为这些超链接设置样式。

使用 :visited 伪类时需要特别注意,只有 带有 href 属性的超链接 <a> 元素 才会被 :visited 伪类匹配。例如:

<!-- 下面的超链接都会被匹配 -->
<a href="#">随机链接</a>
<a href="#id">内部链接</a>
<a href="http://www.htmleaf.com">外部链接</a>

<!-- 下面这个超链接不会被匹配 -->
<a>不带href属性的超链接</a>  

通常超链接元素在不同的状态下可以使用以下4个不同的伪类来为它设置样式:、 :visited 、和。

当你在CSS中为超链接元素同时定义了以上4个伪类的时候,要注意它们的书写顺序。正确的书写顺序是:— :visited — :hover —。抽取第一个字母是“LVHA”,你可以把它记忆为“L oV e HA te”(喜欢讨厌)。

a:link {
    /* style links */
}

a:visited {
    /* style visited link */
}

a:hover {
    /* hover styles */
}

a:active {
    /* active state styles */
}
使用:visited伪类的隐私安全问题

使用 :visited 伪类时有一个重要的隐私安全问题需要注意。一些高手可以通过编写脚本,利用 :visited 伪类来查看浏览器的浏览历史。为了防止由这个引起的隐私问题,现代浏览器都会限制能够在 :visited 伪类上添加的样式。这些限制能够阻止脚本从用户访问过的页面中查找用户的浏览历史。可以查看Mozilla的David Baron发表的这篇文章。

在David Baron的解决方案中,被访问过的超链接仅能添加下面的一些CSS样式:、、、 outline-color 和 column-rule-color 。

另外,如果对被访问的超链接使用属性,需要注意一些问题:只有在超链接的 :link 状态时为超链接设置了一个背景颜色,在 :visited 状态时才能够使用属性。

例如下面的设置不会使超链接的 :visited 状态有背景颜色出现:

a:link {
    color: white;
    background-color: transparent; 
    /* 或者没有设置背景颜色 */
}

a:visited {
    color: white;
    background-color: black;
}

如果要使超链接的 :visited 状态有背景颜色出现,代码应该类似下面:

a:link {
    color: white;
    background-color: #eee; 
}

a:visited {
    color: white;
    background-color: black;
}
示例代码

下面的代码使用LVHA原则为页面中的超链接元素设置样式。

a:link {
    color: skyblue;
    border-bottom: 1px solid #aaa;
}

a:visited {
    color: grey;
}

a:hover {
    border-bottom: 1px solid skyblue;
}

a:active {
    background-color: skyblue;
    color: white;
}
在线演示

下面的例子将超链接元素的 :visited 状态设置为深色背景和白色文字。

a:link{
  background-color: white;
  color: #19b5fe;
}
a:visited {
  background-color: #2d3e50;
  padding: .5em;
  color: #fff;
}  

浏览器支持

所有的现代浏览器都支持 :visited 伪类,包括:Chrome, Firefox, Safari, Opera, Internet Explorer 以及 Android 和 iOS。

查看更多关于:visited的详细内容...

  阅读:50次

上一篇: :link

下一篇::valid

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网
[ SiteMap ]