css伪类选择器

我们在写css的时候会经常使用伪类选择器,伪类选择器就是通过css选择器加上冒号和伪类名构成的。可能有些伪类选择器你已经见过了,比如说a:hover这样的选择器。

在大多情况下,伪类选择器是非常有用的。其中css2 和css3 都支持伪类选择器,只是相对来说,css2支持的可能比css3的少,除了ie浏览器外,其他大部分浏览器都支持伪类选择器,在ie浏览器中,包括ie8也是支持少量的伪类选择器的。ie9 及以上浏览器,基本上支持所有的伪类选择器,下面,让我们看看所有的伪类选择器。当然,伪类选择器并没有那么多。

连接的伪类选择器

连接的伪类选择器包括以下几个(:link、:visited 、:hover 、:active)

:link 这个选择器也许是最容易引起混淆的一个连接的伪类选择器,不是所有的<a>都是连接么?但是并不是这样的,这个伪类选择器只选择那些没有添加href属性的a标签的,这样看来这个伪类选择器是不是就和[href]这个选择器很相似。

:visited 这个选择器选择那些在当前浏览器中那些通过本a标签进入过的地址的标签。

:hover 这个就不用说了,这个大家用的很广的,这个伪类选择器选择那些通过鼠标悬停状态下的连接。

:active 这个伪类选择器选择那些,鼠标左键按下,但是未弹起状态下的标签。同样,这个伪类在h5中选择那些按钮按下的状态。

input标签和连接的伪类选择器

这个包括比较多,下面我们来一一介绍。

:focus 对于连接 来说:hover这个伪类是非常有用的,但是他不能够选择那些获取焦点状态下的元素(什么是获取焦点,获取焦点就是我们能够通过键盘来进行操作,比如说,input,我的可以通过键盘输入,这种状态就是获取焦点的状态;按钮,我们能够通过enter来触发事件这个状态就是我们给按钮获取了焦点,对于a标签来说,如果获取焦点了,我们就能够通过enter来触发他的连接事件。)。所一说,:focus伪类是选择那些当前在焦点状态下的元素。

:target  target这个伪类选择器应该结合着标签的id进行使用,或者是与当前连接中的的hash进行匹配的id。

:enabled 这个选择那些可以使用的input标签,其中可以使用包括enabled和ready这两中属性的input标签。

:disabled 这个选择器选择那个有disabled属性的input标签,部分浏览器,会把input:disabled标签变成灰色,所以我们在写css的时候需要控制浏览器的默认状态。

:checked 这个伪类选择器选择input[type="checkbox"],input[type="radio"]的选中状态。

:indeterminate 这个选择器选择radio按钮没有被选择并且加加载时候没有进行默认设置的状态。这个可能比较不太好理解。

位置、序号伪类选择器

:root 这个伪类选择器选择document的根节点,通常情况下,我们的document的根节点就是<html>,但是也有一些情况下,有人会用html进行标记。这时候其选择的就不是<html>标签了。

:firsct-child 这个伪类用于选取属于其父元素的首个子元素的指定选择器。

:last-child 选择器匹配属于其父元素的最后一个子元素的每个元素。

:nth-child(N) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型。n 可以是数字、关键词或公式。

:nth-of-type() 选择器匹配属于父元素的特定类型的第 N 个子元素的每个元素.n 可以是数字、关键词或公式。

:first-of-type 选择器匹配属于其父元素的特定类型的首个子元素的每个元素。

:last-of-type 选择器匹配属于其父元素的特定类型的最后一个子元素的每个元素。

:nth-last-child(n) 择器匹配属于其元素的第 N 个子元素的每个元素,不论元素的类型,从最后一个子元素开始计数。n 可以是数字、关键词或公式。

:only-of-type 选择器匹配属于其父元素的特定类型的唯一子元素的每个元素。

具体的可以通过下面这个图,看起来会比较直观点儿

关系伪类选择器

:not() 选择器匹配非指定元素/选择器的每个元素。比如说input:not([disabled])选择可用的input标签。

:empty() 选择哪些内容为空的标签,比如说<p></p>

文字类的伪类选择器

::first-letter 这个选择元素内的第一汉字或者是字母。

::first-line 这个选择器选择那些元素内的第一行的内容。

上面就是常用的伪类选择器,可能还有一些没有被收录进来。

转载于:https://my.oschina.net/shuinian/blog/783831

来源:https://my.oschina.net/shuinian/blog/783831


智能推荐

伪类选择器

伪类选择器 伪元素选择器 结构选择器 UI元素状态伪类选择器 否定伪类选择器 层级选择器 E>F 子选择器, 只选择父元素E下的子元素,如下的选择div下的span,结果选择到AAAA,并没有选择到 段落二 ,这是因为 段落二不是div的子元素,而是子元素 p 的子元素 E+F 兄弟选择器 E+F兄弟选择器,样式只会在F兄弟上显示,也就是跟E紧邻的下面一个兄弟才会显示出设置的样式;当E元素最...

html5--6-10 CSS选择器7--伪类选择器

html5--6-10 CSS选择器7--伪类选择器 实例       学习要点 掌握常用的CSS选择器 了解不太常用的CSS选择器 什么是选择器 当我们定义一条样式时候,这条样式会作用于网页当中的某些元素,所谓选择器就是样式作用的对象. 插入样式的三种方法 内联样式表(行内) 内部样式表(style中) 外部样式表 创建一个外部样式表 在head中使用link元素插...

CSS选择器之结构化伪类选择器

:root选择器 :匹配文档根元素 :not 选择器:首先得向该结构元素需要排除的子结构元素设置样式才有效果 Example: :only-child: first-child、:last-child: :nth-child(n)、nth-last-child(n): :nth-of-type(n)、nth-last-of-type(n): :nth-child(n)与:nth-of-type(n...

CSS中的选择器之html选择器和伪类选择器

1.html选择器(标签选择器) 基本语法: 继续在上面的代码中做修改,实例代码: 刷新浏览器后显示效果如下: 对于选择器的优先级的一些说明: 如何区分同一个标签的不同样式,以达到下图中的效果呢?? 代码如下: 刷新浏览器显示的效果如下: 2.伪元素选择器(伪类选择器) 现在有如下代码: 刷新浏览器效果如下: 现在的如下需求: 如下图所示: 该怎么样实现呢?? 代码如下: 刷新浏览器后的效果如下:...

【23种设计模式】之 代理模式(Representative Pattern)

代理模式:为另一个对象提供一个替身或占位符以控制对这个对象的访问。   使用代理模式创建代表(representative)对象,让代表对象控制某对象的访问,被代理的对象可以是远程的对象、创建开销大的对象或需要安全控制的对象。 代理控制访问:就好比客户端不知如何和远程对象沟通,通过远程代理控制访问,直接处理网络上的戏剧节。 RMI访问图...

猜你喜欢

Girls and Boys(HDU-1068)

Problem Description In the second year of the university somebody started a study on the romantic relations between the students. The relation "romantically involved" is defined between one ...

有趣的8个IT冷知识

阅读本文大概需要 2.8 分钟。 想要成为一名成功的程序员,我们除了了解不同编程语言的设计思路,也应当了解编程的发展历史,从而判断未来的编程技术将走向何方。接下就为大家普及下计算机发展历程中的8个冷门小知识!   01 第一台电脑为蒸汽驱动 作为公认的编程之父,Charles Babbage发明了世界上首批计算机之一。他将这台新设备称为分析引擎。其体积超过一栋房屋,由六台蒸汽机驱动并使用...

顶篷11秒开启 迈凯伦720S Spider正式发布

近日,我们从相关渠道获悉,迈凯伦720S Spider正式发布,这也是迈凯伦Track25商业计划下的第二款新车型。相比硬顶版本,新车拥有一套可在11秒内完成开启/闭合的硬顶敞篷结构。 迈凯伦720S Spider基于其硬顶Coupe版本打造而来,由于迈凯伦的全碳纤维座舱Monocage II集成有翻滚保护结构,所以敞篷版没有在硬顶版的基础上进行额外加强。外观设计上,新车将配备全新的前19寸后20...

SpringBoot从0到实战1:10分钟配置环境及HelloWorld项目

什么是SpringBoot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。 该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。 学 springboot 需...

2021-07-15

基于Openstack的云计算IaaS部署实战 云计算部署实战Part1 - 制作CentOS 模板镜像 【实验目的】 掌握搭建 CentOS 模板镜像 熟练掌握Linux命令的使用 掌握VMWare、XShell等客户端的使用 【实验环境】 内存:至少4G 硬盘:至少空余50G 操作系统: 64位 Windows系统。 资源百度云 链接:https://pan.baidu.com/s/1gwed...

问答精选

ArrayAdapter add method casting Illegal state exception

I have a problem adding items to my array adapter. Here is the code If the code is put in the onCreate method, it works! If i comment the line it works! I've tried almost everything but with no result...

Can I read iBeacon data using AS3/Air?

I am wanting to develop a simple micro location app using iBeacons (just arrived today...how exciting). I have zero experience coding native in iOS and Android however have developed several apps usin...

How do I know if an embedded systems project is using an embedded operating system?

I followed these instructions and was successfully transmitting IEEE 802.15.4 frames on a GINA Mote. I know it was working because I have a packet sniffer that captured transmitted packets. Here is th...

After closing the modal dialog refresh the base view

suggestion and code sample I am new to Backbone marionette, I have a view ("JoinCommunityNonmemberWidgetview.js") which opens a modal dialog ("JoinCommunityDetailWidgetview.js").On...

c++ how to read a file and split it's lines

I'm trying to read a file and split each line (so instead of the line "I walk my dog every day" I would have "I", "walk", "my", "dog", "every&quo...

相关问题

相关文章

热门文章

推荐文章

相关标签

推荐问答