:link,:visited,:focus,:hover,:active详解

简介: 原文::link,:visited,:focus,:hover,:active详解CSS 又名 层叠样式表,所谓层叠,就是后面的样式会覆盖前面的样式,所以在样式表中,各样式排列的顺序很有讲究。   :link 与 :visited 在样式文件中的顺序可以随便放置。
原文: :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是层叠样式表,那是不是就意味着写在后面的样式一定会覆盖前面的样式呢?
目录
相关文章
|
6月前
21avalon - 指令ms-hover(hover绑定)
21avalon - 指令ms-hover(hover绑定)
21 0
|
8月前
|
前端开发
css中:nth-child()和nth-of-type有何区别详解
css中:nth-child()和nth-of-type有何区别详解
【已解决】Warning: validateDOMNesting(...): <div> cannot appear as a descendant of <p>
Warning: validateDOMNesting(...): <div> cannot appear as a descendant of <p>
297 0
【已解决】Warning: validateDOMNesting(...): <div> cannot appear as a descendant of <p>
element-ui中的hover 光标移入某一个具体的td 有hover效果
element-ui中的hover 光标移入某一个具体的td 有hover效果
|
前端开发 JavaScript API
How to change the background color of button in Footer area
How to change the background color of button in Footer area
105 0
How to change the background color of button in Footer area
手动调用cx-table.focus和a.focus方法的效果比较
手动调用cx-table.focus和a.focus方法的效果比较
100 0
手动调用cx-table.focus和a.focus方法的效果比较
mint-ui在tab-container使用Infinite scroll 不能触发loadmore
直接上代码,基本上就是官网的Infinite scroll外面套上一层tab-container:
3231 0
|
Web App开发 JavaScript 测试技术