博客
关于我
CSS_伪类和伪元素选择器
阅读量:329 次
发布时间: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/

你可能感兴趣的文章
Nginx配置参数中文说明
查看>>
Nginx配置后台网关映射路径
查看>>
nginx配置域名和ip同时访问、开放多端口
查看>>
Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
查看>>
Nginx配置如何一键生成
查看>>
Nginx配置实例-负载均衡实例:平均访问多台服务器
查看>>
Nginx配置文件nginx.conf中文详解(总结)
查看>>
Nginx配置负载均衡到后台网关集群
查看>>
ngrok | 内网穿透,支持 HTTPS、国内访问、静态域名
查看>>
NHibernate学习[1]
查看>>
NHibernate异常:No persister for的解决办法
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
查看>>
NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
查看>>
NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
查看>>