博客
关于我
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/

你可能感兴趣的文章
Redis工具类
查看>>
SpringBoot与缓存(JSR-107、Spring缓存抽象)
查看>>
ERROR 总结
查看>>
C语言—— 符号函数
查看>>
钞票最优解
查看>>
查找最小值栈的O(1)
查看>>
淘宝天猫双十一养猫组队怎么踢人
查看>>
Java面试题整理,闭关在家37天“吃透”这份345页PDF,纯干货
查看>>
概念唱片Plastic Beach封面高清壁纸
查看>>
旅游后期效果Ography Lightroom预设
查看>>
圆角几何艺术动态壁纸
查看>>
SpamSieve for mac(邮件过滤器)
查看>>
炫酷的圣诞球徽标AE模板
查看>>
uFocus for Mac(mac文本编辑器)
查看>>
2017CS231n笔记5.CNN
查看>>
Linux系统安装Nodejs
查看>>
vue项目报错集合
查看>>
图片链接
查看>>
LINUX-WIFI无线接入的一些东西
查看>>
word文档手写字母总会大写问题
查看>>