:only-child

当元素是唯一的子元素,被选择。

HTML代码:

<body>
<div class="x">
<div>第一个DIV</div>
<div>第一个DIV</div>
<p>第一个P</p>
</div>
</body>

效果图:

CSS代码:

<style>
div:only-child{
background-color:red;
}
</style>

因为div是body元素的唯一子元素,所以整个DIV都会变红。

演示图:

CSS代码:

<style>
p:only-child{
background-color:red;
}
</style>

因为P元素不是div元素的唯一元素,所以P的背景颜色不会变红。

演示图:

:only-of-type

选择特定的,唯一类型的子元素。

HTML代码:

<body>
<div id="main" class="x">
<div id="a">第一个DIV</div>
<div id="b">第一个DIV</div>
<p>第一个P</p>
</div>
</body>

CSS代码:

<style>
div:only-of-type{
background-color:red;
}
</style>

此时选择的div,是id为main的div,它是元素body的唯一类型(div)的元素,所以整个div会变红。

演示图:

而当把CSS代码修改成下面的代码,结果就会不同。

CSS代码:

<style>
.x div:only-of-type{
background-color:red;
}
</style>

此时选择的div,是id为a和b的div,因为不是唯一,所以背景颜色不会变红。

演示图:

如果把CSS代码中的div,改成p后,p的背景颜色会变红,因为p是div里唯一类型的元素。

CSS代码:

<style>
p:only-of-type{
background-color:red;
}
</style>

演示图:

:only-child和:only-of-type选择器的比较的更多相关文章

  1. 《CSS3实战》读书笔记 第三章:选择器:样式实现的标记

    第三章:选择器:样式实现的标记 选择器的魔力在于,让你完全实现对网页样式的掌控.不同的选择器可以用在不同的情况下使用.总之把握的原则是:规范的编码,根据合理地使用选择器,比去背选择器的定义有价值的多. ...

  2. jquery1.9学习笔记 之层级选择器(一)

    子选择器(“parent > child”) 描述:选择所有父元素的直系子元素. 例子: <!doctype html> <html lang='zh'> <hea ...

  3. css继承样式怎么控制?用选择器

    css样式继承性是指下级的样式属性会继承上级的属性,通俗点讲是儿子来继承父亲的属性,比如li会继承ul的属性.css继承原理是我们设置上级(父级)的CSS样式,上级(父级)及以下的子级(下级)都具有此 ...

  4. 揭开jQuery的面纱-jQuery选择器简介(二)

    选择器并没有一个固定的定义,在某种程度上说,jQuery的选择器和样式表中的选择器十分相似.选择器具有如下特点: 1.简化代码的编写 2.隐式迭代 3.无须判断对象是否存在 “$”是选择器不可缺少的部 ...

  5. CSS的五种基本选择器

    要使用css对HTML页面中的元素实现一对一,一对多或者多对一的控制,这就需要用到CSS选择器. ㈠什么是选择器? 每一条css样式定义由两部分组成,形式如下: [code] 选择器{样式} [/co ...

  6. 4_jquery

    官网:www.jquery.com 兼容: 1.jquery-3.1.0.js :form.attr("checked","false")无效 2.firefo ...

  7. jQuery 2.0.3 源码分析Sizzle引擎 - 词法解析

    声明:本文为原创文章,如需转载,请注明来源并保留原文链接Aaron,谢谢! 浏览器从下载文档到显示页面的过程是个复杂的过程,这里包含了重绘和重排.各家浏览器引擎的工作原理略有差别,但也有一定规则. 简 ...

  8. sizzle分析记录:词法分析器(tokenize)

    词法分析器(tokenize)? 词法分析器又称扫描器.词法分析是指将我们编写的文本代码流解析为一个一个的记号,分析得到的记号以供后续语法分析使用. sizzle引入了tokenize这个概念,意义? ...

  9. css学习--css基础

    学习慕课网笔记,课程:http://www.imooc.com/code/2024 1.css选择器 子选择器:parent>child 子选择器是指选择parent的范围内的第一个子元素.这里 ...

  10. javascript中的一些核心知识点以及需要注意的地方

    前言 近期杂事甚多,这些事情的积累对知识体系的提升有好处,但是却不能整理出来,也整理不出来 比如说我最近研究的Hybrid在线联调方案便过于依赖于业务,就算分享也不会有人读懂,若是抽一点来分享又意义不 ...

随机推荐

  1. 视频当道的时代,这些珍藏的优质 Python 播客值得推荐

    我国互联网的发展道路与欧美不同,在内容的形式上,我们似乎实现了跨越式的发展——早早进入了移动互联网时代,直播和短视频等形式的内容成为了潮流,而文字形式的博客(blog)与声音形式的播客(podcast ...

  2. 游戏AI之感知(1)

    目录 感知 视觉感知 听力感知 其它感知 实现 感知 视觉感知 视觉感知是一种常见的感知. 在许多即时战略游戏或者类DOTA游戏里,一个单位的视觉感知往往是圆形范围的. 当然在其他大部分俯视角游戏里, ...

  3. C# 数组比较--取得两个集合的交集,差集,并集的方法

    方法关键字: 交集:Intersect 差集:Except 并集:Union 使用代码: , , , , }; , , , , }; var 交集 = arr1.Intersect(arr2).ToL ...

  4. 设计模式 | 外观模式/门面模式(facade)

    定义: 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 结构:(书中图,侵删) 一个简洁易用的外观类 一个复杂的子系统   实例: 书中提到了理 ...

  5. git 的常用命令

    1. 添加远程仓库地址 git remote add origin xxxxxxxxxxxx 2.初始化仓库 git init 3.创建分支 git checkout -b xxxxxx 4. 查看当 ...

  6. MPP-使用说明

    1.介绍 MPP是瑞芯微提供的媒体处理软件平台,适用于瑞芯微芯片系列.它屏蔽了有关芯片的复杂底层处理,屏蔽了不同芯片的差异,为使用者提供了统一的视频媒体统一接口. 具体提供的功能: 视频编码:H264 ...

  7. windows之自动化在虚拟机部署操作系统并自带python环境

    (1)使用详情: **************************** *    操作说明     * **************************** 1.修改Config文件夹中的Se ...

  8. SpringBoot2.0之八 多数据源配置

     在开发的过程中我们可能都会遇到对接公司其他系统等需求,对于外部的系统可以采用接口对接的方式,对于一个公司开发的两个系统,并且知道相关数据库结构的情况下,就可以考虑使用多数据源来解决这个问题.Spri ...

  9. Linux内存管理 (5)slab分配器

    专题:Linux内存管理专题 关键词:slab/slub/slob.slab描述符.kmalloc.本地/共享对象缓冲池.slabs_partial/slabs_full/slabs_free.ava ...

  10. 不可思议的纯 CSS 滚动进度条效果

    结论先行,如何使用 CSS 实现下述滚动条效果? 就是顶部黄色的滚动进度条,随着页面的滚动进度而变化长短. 在继续阅读下文之前,你可以先缓一缓.尝试思考一下上面的效果或者动手尝试一下,不借助 JS , ...