博客
关于我
CSS_伪类和伪元素选择器
阅读量:328 次
发布时间:2019-03-04

本文共 2055 字,大约阅读时间需要 6 分钟。

一.伪类选择器

简介:CSS 伪类用于向某些选择器添加特殊的效果。

伪类选择器不改变任何DOM内容。只是插入了一些修饰类的元素,这些元素对于用户来说是可见的,但是对于DOM来说不可见。伪类的效果可以通过添加一个实际的类来达到。

1.1、动态伪类选择器

  • E:link(链接伪类选择器): 定义E元素,未访问的链接状态。
  • E:visited(链接伪类选择器 ):定义E元素,已访问的链接状态。
  • E:active(用户行为选择器): 定义E元素,鼠标点击未抬起时的状态。
  • E:hover (用户行为选择器): 定义E元素,鼠标悬停在上面时的状态。
  • E:focus (用户行为选择器): 定义E元素,鼠标点击了抬起后的状态。

说明:

1)当前4个超链接伪类选择器联合使用时,应注意他们的顺序,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的,a:active 必须被置于 a:hover 之后,才是有效的。。错误的顺序有时会使超链接的样式失效

a:link{   color:red;}		/* 未访问的链接状态 */a:visited{   color:green;}	/* 以访问的链接状态 */a:hover{   color:blue;}	/*鼠标滑过链接状态*/a:active{   color:yellow;}	/*鼠标按下去时状态*/

2)为了简化代码,可以把伪类选择器中相同的声明提出来放在a选择符中;使用hover属性来设置样式。

a:hover{   color:green;}/*表示超链接的三种状态都相同,只有鼠标滑过变换颜色*/

1.2、结构伪类选择器

  • E:fisrt-child :作为父元素的第一个子元素的元素E。与E:nth-child(1)等同
  • E:last-child :作为父元素的最后一个子元素的元素E。与E:nth-last-child(1)等同
  • E:root:选择匹配元素E所在文档的根元素。在HTML文档中,根元素始终是html,此时该选择器与html类型选择器匹配的内容相同
  • E F:nth-child(n):选择父元素E的第n个子元素F。其中n可以是整数(1,2,3)、关键字(even,odd)、可以是公式(2n+1),而且n值起始值为1,而不是0.
  • E F:nth-last-child(n):选择父元素E的倒数第n个子元素F。此选择器与E:nth-child(n)选择器计算顺序刚好相反,但使用方法都是一样的,其中:nth-last-child(1)始终匹配最后一个元素,与last-child等同
  • E:nth-of-type(n) :选择父元素内具有指定类型的第n个E元素
  • E:nth-last-of-type(n):选择父元素内具有指定类型的倒数第n个E元素
  • E:first-of-type:选择父元素内具有指定类型的第一个E元素,与E:nth-of-type(1)等同
  • E:last-of-tye :选择父元素内具有指定类型的最后一个E元素,与E:nth-last-of-type(1)等同
  • E:only-child :选择父元素只包含一个子元素,且该子元素匹配E元素
  • E:only-of-type:选择父元素只包含一个同类型子元素,且该子元素匹配E元素
  • E:empty: 选择没有子元素的元素,而且该元素也不包含任何文本节点

注意:

结构伪类选择器中,子元素的序号是从 1 开始的,也就是说,第一个子元素的序号是 1,而不是 0。换句话说,当参数 n 的计算结果为 0 时,将不选择任何元素。

1.3、目标伪类选择器

  • E: target:选择匹配E的所有元素,且匹配元素被相关URL指向。

1.4、语言伪类选择器

  • E: lang(language):用来匹配使用指定语言的元素。

1.5、否定伪类选择器

  • E: not(F):匹配所有除F外的E元素

1.6、元素状态伪类选择器

  • E: checked:匹配所有用户界面(form表单)中处于选中状态的元素
  • E: enabled:匹配所有用户界面(form表单)中处于可用状态的元素
  • E: disabled:匹配所有用户界面(form表单)中处于不可用状态的元素

二.伪元素选择器

简介:CSS 伪元素用于将特殊的效果添加到某些选择器。

伪元素的效果是需要通过添加一个实际的元素才能达到的。可能会改变dom结构,创建虚拟dom。

  • E::after:在E元素之后添加内容,常用"content"配合使用
  • E::before:在E元素之前添加内容,常用"content"配合使用
  • E::first-letter:向文本的第一个字母添加特殊样式。
  • E::first-line:向文本的首行添加特殊样式。
  • E::selection:给被用户选中或处于高亮状态的部分的E元素添加特殊样式。

三.伪类和伪元素选择器的区别

  • 单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素。

转载地址:http://bzxh.baihongyu.com/

你可能感兴趣的文章
Linux操作系统的安装与使用
查看>>
C++ 继承 详解
查看>>
OSPF多区域
查看>>
Docker入门之-镜像(二)
查看>>
数据结构——链表(3)
查看>>
socket模块和粘包现象
查看>>
去了解拉绳位移编码器的影响因素
查看>>
无法初始化Winsock2.2处理
查看>>
vMotion 操作失败进度卡在14% ,报错: Operation Timed out
查看>>
重置UAG Application admin密码
查看>>
Horizon Daas租户管理平台扩展分配时报:内部错误
查看>>
嵌入式系统试题库(CSU)
查看>>
【自考】之信息资源管理(一)
查看>>
setup facatory9.0打包详细教程(含静默安装和卸载)
查看>>
ionic4 路由跳转传值
查看>>
pwn题shellcode收集
查看>>
java.security.InvalidKeyException: Illegal key size
查看>>
Linux kernel pwn --- CSAW2015 StringIPC
查看>>
配置jdk的环境变量
查看>>
编译android源代码(aosp)
查看>>