zoukankan      html  css  js  c++  java
  • :link,:visited,:focus,:hover,:active详解

    CSS 又名 层叠样式表,所谓层叠,就是后面的样式会覆盖前面的样式,所以在样式表中,各样式排列的顺序很有讲究。
     
    :link 与 :visited 在样式文件中的顺序可以随便放置。
    而focus, hover,active这几个,如果你设置的顺序不同,会直接影响样式的显示效果,下面会详细解释。
    :focus -> :hover -> :active
     
    有些人可能会困惑,为什么必须要按这样的顺序,而不能打乱呢? 其实他们每一个选择器都代表一个含义。
    :link代表为访问链接的样式,所以只要你是超链接,且未被访问过,则链接都会按照你设定的样式显示,所以它的位置顺序无所谓。
    :visited代表链接访问后的样式,则链接一旦被访问,则之后它的样式就会是你所设置的visited样式
    重点是下面这几个:
    :focus 代表的是获取焦点时的样式,有人说啥是获取焦点时的样式,这个我们可以通过tab键来查看,一旦链接获取了焦点,则它的样式就是你设置的focus样式
    :hover 代表的是你光标经过某一元素时的样式,如果将此样式放在:focus之后,则当链接获取焦点时,显示:focus样式,当光标经过此链接时,会显示hover的样式,因为hover排在后,会覆盖focus样式。
                如果:hover排在前,:focus排在后,则当光标获得焦点时显示:focus的样式,但当光标经过链接时,样式并未显示:hover的样式,而是继续是:focus的样式,因为应用的focus样式在hover之后,覆盖了前面的样式。
     
    测试代码如下:
    a:focus{
    color:#AA80FE;
    text-decoration:underline;
    }
     
    a:hover{
    color:#FF0000;
    text-decoration:underline;
    }
    a:hover{
    color:#FF0000;
    text-decoration:underline;
    }
     
    a:focus{
    color:#AA80FE;
    text-decoration:underline;
    }

    :active 代表元素被激活时的样式,也就是元素被按下时的样式,如果:active选择器与 :focus , :hover 调换位置,则显示的效果也会不同,因为排在后面的样式,会覆盖前面的样式。

     
    测试代码如下:
    a:hover{
    color:#FF0000;
    text-decoration:underline;
    }
     
    a:active{
    color:#FFCC00;
    }
    a:active{
    color:#FFCC00;
    }
     
    a:hover{
    color:#FF0000;
    text-decoration:underline;
    }

     

    你可能会问,css是层叠样式表,那是不是就意味着写在后面的样式一定会覆盖前面的样式呢?
  • 相关阅读:
    《流畅的Python》Data Structures--第7章 colsure and decorator
    CSS Reset 2.0标准
    Layout
    一个简单的例子 vux mutation改变状态
    __WEBPACK_IMPORTED_MODULE_3_vuex__.a is not a constructor
    vuex 使用
    (转)Vue-初步了解vue-router的三要素:路由map 、路由视图、路由导航
    router-link-active 和 router-link-exact-active router-link-active
    当前目录 根目录 写法
    mode: 'history', 去掉路由地址的#
  • 原文地址:https://www.cnblogs.com/umylover/p/3949091.html
Copyright © 2011-2022 走看看