target译为“目标”,加冒号即为伪类选择器。
此选择器便是用于给目标元素添加额外样式,类似于hover
。
使用
该选择对应的目标元素为锚点触发。
以下代码定义了两个a
元素,其中一个为链接元素,另一个使用样式定义为块元素。
块元素设置了透明度为0
,并设置其被链接时透明度为1
和过度效果。
最终的效果为点击链接元素时,div1
从透明到不透明过度。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>target选择器</title> <meta name="renderer" content="webkit"> <style> .link { display: block; text-decoration: none; text-align: center; color: #fff; background: #ff0000; line-height: 30px; } .a-block { display: block; opacity: 0; } .a-block:target { opacity: 1; transition: all .3s; } </style> </head> <body> <a href="#div1" class="link">显示</a> <a id="div1" class="a-block"> :target选择器可用于当前活动的target元素的样式。 :target选择器可用于当前活动的target元素的样式。 :target选择器可用于当前活动的target元素的样式。 :target选择器可用于当前活动的target元素的样式。 :target选择器可用于当前活动的target元素的样式。 :target选择器可用于当前活动的target元素的样式。 :target选择器可用于当前活动的target元素的样式。 </a> </body> </html>
|
注意
起初我写下这段Demo时目标元素是用的div
,后来发现该选择器不能像:hover
一样作用于a
以外的元素。
另外该选择器的兼容性为IE8以上(不包括IE8)。
适用场景
结合这个Demo可以发现该选择器又一次实现之前需要JS才能实现的功能,比如点击链接显示元素。
另外在全屏滚动动画页面时也可以用在导航之上,比如点击导航给对应的块添加动画效果。
更多使用方法也待慢慢摸索了!