• 技术文章 >web前端 >css教程

    CSS中:visited的隐私保护

    高洛峰高洛峰2017-02-22 12:59:32原创816

    CSS 伪类 (Pseudo-classes)

    锚伪类:在支持 CSS 的浏览器中,链接的不同状态都可以不同的方式显示,这些状态包括:活动状态,已被访问状态,未被访问状态,和鼠标悬停状态。

    a:link {color: #FF0000} /* 未访问的链接 */a:visited {color: #00FF00} /* 已访问的链接 */a:hover {color: #FF00FF} /* 鼠标移动到链接上 */a:active {color: #0000FF} /* 选定的链接 */

    对于a标签的使用经常通过伪类来改变样式,比如hover悬停后的background背景,font-size字体大小,text-decoration文本样式(none去下划线),color字体颜色等,但是在:visited下却无法改变这么多样式。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
    .fi:hover{
        text-decoration: none;
        color: green;
        font-size: 20px;
        background-color: red; 
        border: 1px solid black;
    }
    .se:visited{
        text-decoration: none;/*无效*/
        color: green;
        font-size: 20px;/*无效*/
        background-color: red; /*这个按理来说应该有效*/   
        border: 1px solid black;/*无效*/
    }
            </style>
        </head>
        <body>
            <a href="#qwe" class="fi">123465</a><br />
            <a href="#aasd" class="se">7890</a>
        </body>
    </html>

    许多年前,CSS:visited曾是一种查询用户历史记录的途径,它自身并没有什么威胁,但是当其与js中的getComputedStyle()联合,便可以通过你的历史记录找到你去过哪里。其速度可达到210,000 URLs每分钟,那么就有可能获得你大量的历史信息或者通过指纹打印复制你的身份。由于浏览器可以保存很长一段时间的历史记录,这种方法可以暴露你相当一部分浏览信息。

    哇靠,那群牛逼的人当让不想让别人看到自己天天在哪些网上下资源啦,所以他们开始着手保护用户ziji的隐私。好吧,他们是这么做的。

    将getComputedStyle方法变性,总是返回values就好像用户从没访问过这个网站。(不过我没试过这到底是个什么东西。)

    将:visited阉割,只能用于修改color,background-color,border-*-color,outline-color,以及部分的fill和stroke属性,其他属性则被:link代替。并且不能用rgba(),hsla(),transparent这些颜色。

    翻译的有错误的地方,欢迎来打我脸。

    更多CSS中:visited的隐私保护 相关文章请关注PHP中文网!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:css visited 伪类
    上一篇:CSS常用属性 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • “saturate”,又get了新的CSS知识!• 13 个实用CSS技巧,助你提升前端开发效率!• 巧用距离、角度及光影制作炫酷的 3D 文字特效• 让交互更加生动!巧用CSS实现鼠标跟随 3D 旋转效果• 手把手教你用CSS实现简单大气的输入框
    1/1

    PHP中文网