Pseudo-Classes Selectors(伪类选择器)

  E:not(s)  E:root  E:target

  E:first-child  E:last-child  E:only-child  E:nth-child(n)  E:nth-last-child(n)

这上面一行的选择器,都会考虑其他元素的的影响。

  E:first-of-type  E:last-of-type  E:only-of-type  E:nth-of-type(n)  E:nth-of-last-type(n)

这上面的选择器,不会考虑其他元素的的影响。

  E:empty  E:checked  E:enabled  E:disabled

  E:read-only  E:read-write

  E:not()

这个选择器的意思是,选中除了谁。 ()里面填条件,也就是选择器。

一般的最常见的应用场景呢,添加下划线的时候

  E:root

选择根目录的意思,在我们的html文件里面,他是选 html标签 也就是  html标签选择器。但是呢,如果换成xml呢,他的根目录就不一定是 html了吧。所以有人说 root就是html,那是错误的

要用的话,直接写  :root{ background-color:red;} 即可 相当于 html:{ background-color:red;}

  

  E:target

URL后面跟锚点#,指向文档内某个具体的元素。 也就是说,url后面的锚点,指向  某个元素, 那么该元素就会触发 target

下面一个小demo

  E:first-child  E:last-child  

E:first-child选择父元素下的第一个子元素, 和E:last-child选择父元素下最后一个子元素,看到这句话,可能会有点误解。 前提是, 他必须有父元素,最高层是body

<div>
<p></p>
<p></p>
</div>

看到上面的代码, 如果你想选  div下面的第一个p 的话, 不应该这么写。

div:first-child{
background-color: red;
}

/* 应该是写成下面的 */
p:first-child{
background-color: red;
}

why?  因为填的是你要选择的本身,也就是你要选择p   他是会在 p的父元素找, 你这个p标签,是不是父元素下的 第一个。

下面的代码你还是会选不到

<div>
<span></span>
<p></p>
<p></p>
</div> p:first-child{ //因为现在的 p的父元素, 第一个子元素, 是span 所以你选不到
background-color: red;
}

  E:only-child

选择,父元素下的 独生子,也就是说,看父元素下面的子元素,是不是仅有一个。是的话,那就选中

  E:nth-child(n)

选择父元素下面的 第几个子元素,(n) 可以计算, n是从0 开始的, 但是 css里面的索引是从1 开始的,  js的数组什么是从0. 但是css不是

  E:nth-last-child(n)

跟上面的选择器大同小异, 只不过人家是从 最后一位开始查数。 填(1) 选的是最后一位。

以上的这5个选择器都会受到 其他元素的影响, 例如父元素下面第一个不是他的话,就选不了。 

但是以下五个选择器,不会受到其他元素的影响。

  E:first-of-type

意思是,在父元素下面寻找 第一个所匹配的子元素。 下面的ul  和li,在ul 里面找到第一个li

  E:last-of-type

在有父元素的里面找最后一个 E 跟上面的选择器一样, 他选的是第一个, 这个选的是最后一个

    E:only-of-type

匹配父元素的所有子元素中唯一的那个子元素

  E:nth-of-type(n)

匹配父元素的第n个子元素,跟 E:nth-child(n)  差不多。 不过 nth-child 会受到其他元素影响, 而nth-of-type 不会 怎么回事的,看下面例子

  E:nth-of-last-type(n) 

跟 E:nth-of-type(n) 相反的, E:nth-of-type(n)是按照 第一个开始查,  这个是按照倒数第一位查

  E:empty

匹配里面没有任何东西的元素。也就是说,你选择的那个元素,里面不要有东西才可以选中。

 

  E:checked

匹配用户界面上处于选中状态的元素E。(用于input type为radio与checkbox时)

  

  E:enabled  和  E:disabled

用于选择 input的 正常状态,和  不可操作状态。 没设置disabled 属性的 input  就是正常状态

  E:read-only  E:read-write

readonly 呢 是input 标签上的属性, 设置了这个属性后,就是不可以填写,也不可以操作

E:read-write:也就是选中没有设置readonly。用处不大

 

css3系列之伪类选择器的更多相关文章

  1. CSS3的一个伪类选择器:nth-child()

    CSS3的一个伪类选择器“:nth-child()”. Table表格奇偶数行定义样式: 语法: :nth-child(an+b) 为什么选择她,因为我认为,这个选择器是最多学问的一个了.很可惜,据我 ...

  2. CSS3中的伪类选择器详解

      类选择器和伪类选择器区别 类选择器我们可以随意起名,而伪类选择器是CSS中已经定义好的选择器,不可以随意起名. 伪类选择器以及伪元素 我们把它放到这里 p.aaas{ text-align: le ...

  3. 【CSS3】---结构性伪类选择器—nth-child(n)+nth-last-child(n)

    结构性伪类选择器—nth-child(n) “:nth-child(n)”选择器用来定位某个父元素的一个或多个特定的子元素.其中“n”是其参数,而且可以是整数值(1,2,3,4),也可以是表达式(2n ...

  4. 【CSS3】---结构性伪类选择器-first-child+last-child

    结构性伪类选择器—first-child “:first-child”选择器表示的是选择父元素的第一个子元素的元素E.简单点理解就是选择元素中的第一个子元素,记住是子元素,而不是后代元素. 示例演示 ...

  5. 【CSS3】---结构性伪类选择器-root+not+empty+target

    结构性伪类选择器—root :root选择器,从字面上我们就可以很清楚的理解是根选择器,他的意思就是匹配元素E所在文档的根元素.在HTML文档中,根元素始终是<html>. 示例演示: 通 ...

  6. CSS3新增的伪类选择器

    伪类选择器的作用:对已有选择器做进一步的限制,对已有选择器能匹配的元素做进一步的过滤.CSS 3提供的伪类选择器主要分为以下三类: 结构性伪类选择器 UI元素状态伪类选择器 其他伪类选择器 1.结构性 ...

  7. css3中的伪类选择器

    一.动态伪类 动态伪类,因为这些伪类并不存在于HTML中,而只有当用户和网站交互的时候才能体现出来,动态伪类包含两种,第一种是我们在链接中常看到的锚点伪类,如":link",&qu ...

  8. css3系列之伪元素选择器

    Pseudo-Element Selectors(伪元素选择器) E::placeholder E::selection E::placeholder 这个选择器是选啥的呢, 是选 input 里面的 ...

  9. css3 UI元素状态伪类选择器

    选择器 说明 例子/备注 E:hover 当鼠标移到元素上元素所使用的样式 :hover{}或input:[type="text"]:hover{} E:active 当元素被激活 ...

随机推荐

  1. D. Yet Another Problem On a Subsequence 解析(DP)

    Codeforce 1000 D. Yet Another Problem On a Subsequence 解析(DP) 今天我們來看看CF1000D 題目連結 題目 略,請直接看原題 前言 這題提 ...

  2. ORACLE 数据泵 expdp/impdp

    ORACLE 数据泵 expdp/impdp 一.概念 Oracle Database 10g 引入了最新的数据泵(Data Dump)技术,数据泵导出导入 (EXPDP 和 IMPDP)的作用: 1 ...

  3. 硬核!15张图解Redis为什么这么快

    作为一名服务端工程师,工作中你肯定和 Redis 打过交道.Redis 为什么快,这点想必你也知道,至少为了面试也做过准备.很多人知道 Redis 快仅仅因为它是基于内存实现的,对于其它原因倒是模棱两 ...

  4. 走在深夜的小码农 Second Day

    HTML5 Second Day writer:late at night codepeasant 学习大纲 表格 表格的主要作用 表格主要用于显示.展示数据,因为它可以让数据显示的非常的规整,可读性 ...

  5. Luogu P3262 [JLOI2015]战争调度

    题意 给定一棵高度为 \(n\) 的完全二叉树,可以将节点设置成两种状态.如果某个叶子 \(x\) 的状态为 \(i\) 同时他的某个祖先也为 \(i\),那么这个叶子就会对祖先产生 \(f_{x,i ...

  6. pandas模块常用函数解析之Series(详解)

    pandas模块常用函数解析之Series 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 打开浏览器输入网 ...

  7. SPOJ16607 IE1 - Sweets

    题面 传送门: 洛咕 SPOJ Solution 这题的想法挺妙的. . 首先,对于这种区间求答案的问题,我们一般都可以通过类似前缀和的思想一减来消去a,即求[a,b]的答案可以转化为求[1,b]-[ ...

  8. K8S 搭建 Kafka:2.13-2.6.0 和 Zookeeper:3.6.2 集群

    搭建 Kafka:2.13-2.6.0 和 Zookeeper:3.6.2 集群 一.服务版本信息: Kafka:v2.13-2.6.0 Zookeeper:v3.6.2 Kubernetes:v1. ...

  9. svg究竟是什么?

    svg究竟是什么? 1 要点 要点1:svg与jpg/png等格式的用途完全不同,不可相提并论,没有可比性,不可互相替代. 要点2:日常生活中,我们用相机拍摄自然景象得到的照片和视频,能且只能用jpg ...

  10. dhcp、tftp、httpd、pxe安装CentOS6.9

    虚拟机网络设置 要xshell连接虚拟机注意设置VMware Network Adapter VMnet2在同一网段 1.利用光盘配置本地yum源 [root@ZYB ~]# mount -r /de ...