1 CSS3 结构伪类选择器

1.E:root

匹配E元素所在的根元素 即:html

2. E:nth-child(n)

(1)匹配E元素的父元素中第n个子元素,(2)且该位置的子元素类型必须是E类型。否则无效

p:nth-child(1){color:red}

<div>

<p>这是红色的<p>

</div>

<div>

<h1>这是第一个子元素 但不是P类型,不是红色</h1>

< p>这是黑色的 注意对比 nth-of-type(1) </p>

</div>

3. E:nth-of-type(n)

匹配E的父元素中所有的E类型的元素,忽略其他类型的元素。n 为p的个数,不算别的类型子元素

p:nth-of-type(1) {color:red}

<div>

<p>这是红色的</p>

</div>

<div>

<h1>你不是P元素,我不匹配你</h1>

<p>这是红色的</p>

</div>

4. E:nth-last-child(n)

和nth-child(n)一样,只不过是倒着来

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

和nth-of-type(n)一样,只不过是倒着来

6. E:first-child

匹配E的父元素中的第1个子元素,且这个元素类型必须是E类型,不是E类型无效。

实际上等同于E:nth-child(1)

p:first-child{color:red}

<div>

<p>这是红色的</p>

<p>这是黑色的</p>

</div>

<div>

<h1>这是黑色的(是第一个子元素但不是P类型。因而无效)</h1>

<p>这是黑色的</p>

<p>这是黑色的</p>

</div>

7. E:last-child

同上 匹配最后一个子元素,且该子元素必须是E类型,样式才有效。

8.  E:first-of-type

匹配E的父元素的所有类型为E的子元素,忽略别的类型的子元素。是E:nth-of-type(n)的特例 n=1

//p:nth- of-type(1) {color:red}

p:first-of-type{color:red}

<div>

<p>这是红色的</p>

</div>

<div>

<h1>虽然你是第一个子元素,但你不是P元素,我不匹配你</h1>

<p>这是红色的<p>

</div>

9. E:last-of-type

匹配E的父元素中所有类型为E的子元素,忽略其他类型的子元素,是E:nth-last-of-type(n) n=1的特列

10. E:only-child 自我为中心 排斥同类和异类

匹配:E的父元素只有一个子元素,且该子元素必须是E类型。不然无效。好自私,拒绝二胎

p:only-child{color:red}

<div>

<p>这是红色的</p>

</div>

<div>

<h1>该div不只一个孩子,所以不匹配。</h1>

<p>这是黑色的</p>

</div>

<div>

<p>这是黑色的</p>

<p>这是黑色的</p>

</div>

11. E:only-of-type 只排斥同类

这个限制比上面宽松一些,可以允许父节点有别的孩子,但是别的孩子不能是E类型的。

p:only-of-type{color:red}

<div>

<p>这是红色的</p>

</div>

<hr>

<div>

<p>这是黑色的(只能有1个同类型节点)</p>

<p>这是黑色的</p>

</div>

<hr>

<div>

<h1>下面这个p 大度些,允许异类存在</h1>

<p>这是红色的</p>

<a> link </a>

</div>

12. E:empty

选择匹配E类型的元素,且该元素是五保户,没有子节点。

div:empty{boder:solid 1px green;height:30px}

<!--下面这个div有边框-->

<div></div>

<hr>

<!--下面这个div无边框 换行和空格都算文本元素-->

<div>

</div>

<hr>

<!—下面这个div -->

<div>

这个div有子元素无边框。文本节点也算

</div>

<hr>

<!—下面这个div无边框-->

<div>

<h1>这个div有子元素无边框</h1>

</div>

CSS3 结构伪类选择器 详解的更多相关文章

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

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

  2. css3 伪元素和伪类选择器详解

    转自脚本之家:http://www.jb51.net/css/213779.html 无论是伪类还是伪元素,都属于CSS选择器的范畴.所以它们的定义可以在CSS标准的选择器章节找到.分别是 CSS2. ...

  3. CSS3新增(选择器{属性选择器,结构伪类选择器,伪元素选择器})

    1.属性选择器 属性选择器,可以根据元素特定的属性来选择元素,这样就不用借助 类 或者 id选择器. E [ att ]   选择具有 att 属性的 E 元素   例如:input [ value ...

  4. 如何使用CSS3中的结构伪类选择器和伪元素选择器

    结构伪类选择器介绍 结构伪类选择器是用来处理一些特殊的效果. 结构伪类选择器属性说明表 属性 描述 E:first-child 匹配E元素的第一个子元素. E:last-child 匹配E元素的最后一 ...

  5. Atitit.隔行换色  变色 css3 结构性伪类选择器

    Atitit.隔行换色  变色 css3 结构性伪类选择器 1.1. css3隔行换色扩展阅读 1 1.2. 结构伪选择器 1 1.3. jQuery 选择器2 1.1. css3隔行换色扩展阅读 原 ...

  6. CSS3 结构性伪类选择器(2)

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

  7. CSS3 :nth-child()伪类选择器

    CSS3 :nth-child()伪类选择器 CSS3的强大,让人惊叹,人们在惊喜之余,又不得不为其艰难的道路感到可惜:好 的标准只有得到行业浏览器的良好支持才算得上“标准”.CSS3标 准已提出数年 ...

  8. CSS3 结构性伪类选择器(1)

    1.CSS3 结构性伪类选择器—root :root选择器就是匹配元素E所在文档的根元素.在HTML文档中,根元素始终是<html>. “:root”选择器等同于<html>元 ...

  9. 第49天学习打卡(CSS 层次选择器 结构伪类选择器 属性选择器 美化网页元素 盒子模型)

    推荐书籍:码出高效: Java 开发手册 2.2 层次选择器 idea里代码规范是按:ctrl +alt+L快捷键 注释快捷键:ctrl+/ 1.后代选择器:在某个元素的后面 祖爷爷 爷爷 爸爸 你 ...

随机推荐

  1. javascript的地基

    有了良好的基础,才能在其上创造有价值的东西. 回顾一下以往自己javascript应用的开发经历,似乎很少去思考和总结js的运行机制.现在我就来整理整理 1. 以<编译原理>的一段话开头: ...

  2. (转)You might not need jQuery

    You might not need jQuery You certainly can support IE 9 and below without jQuery, but we don't. Ple ...

  3. 基础篇-spring包的下载

    首先去到String官网 往下拉一点会看到如下图所示点击进入下一步 进入以后找到如下图所示的 然后按照下图所示操作 选择你想要的版本点击它 选择spring的完整包下载如图

  4. Hibernate配置文档详解

    Hibernate配置文档有框架总部署文档hibernate.cfg.xml 和映射类的配置文档 ***.hbm.xml hibernate.cfg.xml(文件位置直接放在src源文件夹即可) (在 ...

  5. linux 配置 tomcat 自动发布脚本

    首先将打包好的 war 包(举例 management-20160809-1.0.war),传到 tomcat 的 webapps 目录下,然后在 tomcat 目录下新建 deploy.sh 脚本. ...

  6. linux(Debian) 中的cron计划任务配置方法

    cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情.用crontab配置是针对某个用户的 ...

  7. Composer实现PHP中类的自动加载

    本篇博客承接上一篇,学习一下Composer实现的PHP的类的自动加载方式.首先说明一下,Composer是PHP针对PHP语言的第三方的依赖管理工具,将工程所用到的依赖文件包含在composer.j ...

  8. MySQL之账户管理

    MySQL之账户管理 账户管理是MySQL用户管理最基本的内容.包括登录,退出MySQL服务器.创建用户.删除用户.密码管理和权限管理等内容. 其中登录方式非常简单,在这个地址有:http://www ...

  9. ping命令

    ping命令能够用于判断一个主机是否可达或者是否存活.它的工作原理就像潜水艇的探测原理一样.该命令通过向目标计算机发送一个数据包,请求目标计算机回送该数据包以表明自己还存活着.同时该命令还能够知道数据 ...

  10. listview侧滑菜单swipemenulistview的简单使用

    先看代码: public class MainActivity extends AppCompatActivity { private SwipeMenuListView list; private ...