【前端学习-CSS(1)Hover事件】
1. 如何解决 a 标点击后 hover 事件失效的问题?
改变 a 标签 CSS 属性的排列顺序:
(爱恨原则)link -> visited -> hover -> active
1. a:link:未访问的样式
2. a:visited:已经访问的样式
3. a:hover:⿏标移上去时的样式
4. a:active:⿏标按下的样式
按照这样书写:
可以解决 a:link 样式被 a:visited 样式覆盖问题。
在 CSS 中,如果对于相同元素针对不同条件的定义,适宜将最⼀般的条件放在最上⾯,依次向下,保证最下⾯的是最特殊的条件(可以理解为样式覆盖)。
这样,浏览器显⽰元素的时候,才会从特殊到⼀般、逐级向上验证条件。css鼠标点击样式
举例说明:
我想让未访问链接颜⾊为蓝⾊,悬浮链接为绿⾊,已访问链接为红⾊:
第⼀种情况:我定义的顺序是a:visited-红⾊、a:hover-绿⾊、a:link:蓝⾊,这时会发现:把⿏标放到未访问过的蓝⾊链接上时,它并不变成绿⾊,只有放在已访问的红⾊链接上,链接才会变绿。
第⼆种情况:我把 CSS 定义顺序调整为:a:link、a:visited、a:hover,这时,⽆论你⿏标经过的链接有没有被访问过,它都会变成绿⾊啦。
这是因为,⼀个⿏标经过的未访问链接同时拥有a:link、a:hover两种属性。
1. 在第⼀种情况下,a:link 离它最近,所以它优先满⾜同时拥有【a:link,a:hover】中的 a:link,⽽放弃 a:hover 的重复定义(hover
样式被 link 给覆盖了)。
2. 在第⼆种情况,⽆论链接有没有被访问过,它⾸先要检查是否符合 a:hover 的标准(即是否有⿏标经过它),满⾜,则变成绿⾊,不
满⾜,则继续向上查,⼀直到满⾜条件的定义为⽌。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论