我们在点击超链接的时候,会发现
这四个状态,链接的文本会发生不一样的状态,这样的效果就是用CSS的伪类选择器来实现。
正确的CSS顺序应该是
Why?
因为这四个CSS的优先级是一样的,所有后者会覆盖前者。
从实现的步骤来分析,就应该是这样排列才对。
用户的操作步骤是
1. 还没有点击链接
那么只有 a:link 这一条样式生效,用户看到的是没有点击的样式。
2. 鼠标移上去悬浮在链接上
那么 a: link 和 a: hover 这两条生效,由于 a: hover 在后面,所以样式3覆盖了样式1,显示的是鼠标移上去悬浮在链接上这个样式
3. 鼠标按了下去
那么 a:link 、 a:hover 和 a:active 这三条生效, a:active 覆盖了前两者,显示出来的就是鼠标点击时候的样式。
4. 点击完发生链接之后
那么 a: visited 这一条永久生效,显示出来的就是链接后的样式。
总之,必须是,
CSS 鼠标点击穿透Div有些时候网页中用到了一些绝对定位的Div,因为需要事先这个Div是隐藏的,但是它所在的位置会遮挡住鼠标点击事件。这个时候可以用CCS3中的pointer-events属性来解决。
//穿透该层
pointer-events:none
//恢复点击处理
pointer-events:auto
根据情况来动态修改Div的pointer-events属性即可。
例如用JQuery可以这样写:
//穿透该层
$('#dvTest').css('pointer-events', 'none')
或者
恢复点击处理
$('#dvTest').css('pointer-events', 'auto')