CSS选择器总结

2023-11-12

元素选择器:

作用:通过元素选择器可以选择页面中的所有元素
语法:标签名{ }

如下:选中所有的P标签。

p{
		color:red;
		font-size:40px;
}	

ID选择器:

作用:通过元素ID属性值选中唯一的一个元素。
语法:#id属性值{ }

如下:选中ID为p1的元素

#p1{       /*选中ID为p1的元素*/
		color:red;
		font-size:40px;
	}	

类选择器:

作用:痛过元素的class属性值选中一组元素(class属性和ID属性类似,只是class属性可以重复,不同的元素可以拥有相同的属性值;一个元素也可以有多个class属性,用空格隔开。)
语法:.class属性值{ }

选中class属性为p2的元素

			.p2{       
				color:red;
				font-size:40px;
			}

选择器分组(并集选择器):

作用:通过选择器分组可以同时选中多个选择器对应的元素。
语法:选择器1,选择器2,选择器N{ }

选中ID为p1,class属性值为p2,以及所有的h1元素。

			#p1,.p2,h1{       
				color:red;
				font-size:40px;
			}

通配选择器:

作用:可以用来选中页面中所有的元素
语法:*{ }

如下:选中所有元素

			*{       
				color:red;
				font-size:40px;
			}

复合选择器(交集选择器)

作用:可以选中同时满足多个选择器的元素。
语法:选择器1选择器2选择器N{ }

选中一个class属性值是p2且是span的元素

			span.p2{       
				color:red;
				font-size:40px;
			}

后代元素选择器:

作用:选中指定元素的指定后代元素
语法:祖先元素 后代元素{ };两元素之间用一个空格隔开

扩展:祖先元素上的样式,会被他的后代元素所继承,利用继承可以将一些基本样式设置给祖先元素,这样所有的后代元素就会自动继承这些样式。但并不是所有的样式都会被子元素继承,比如:背景相关的元素不会被继承。

选中div中的span元素

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>CSS常见选择器</title>
		<style	type="text/css">
			div  span{       
				color:red;
				font-size:40px;
			}
		</style>
	</head/>
	<body>
		<div id="d1">
			<p>
				<span>我是div中的p元素中的子元素</span>
			</p>
			<span>
				我是div中的子元素
				<span>我是孙子元素</span>
			</span>
			<span>我是子元素</span>
		</div>
	</body>
</html>

效果如下:
在这里插入图片描述
也可以多重选中,比如:

选中ID为d1中的p元素中的span元素

			#d1 p span{       
				color:red;
				font-size:40px;
			}

子元素选择器:

作用:选中指定父元素的指定子元素
语法:父元素 > 子元素

选中div的子元素中的span(只选子元素,孙子元素里的span元素不选,这是与后代选择器的区别。)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>CSS常见选择器</title>
		<style	type="text/css">
			div > span{       
				color:red;
				font-size:40px;
			}
		</style>
	</head/>
	<body>
		<div id="d1">
			<p>
				<span>我是div中的p元素中的子元素</span>
			</p>
			<span>
				我是div中的子元素
				<span>span的子元素</span>
			</span>
			<span>我是子元素</span>
		</div>
	</body>
</html>

效果如下:
在这里插入图片描述

伪类选择器:

伪类专门用来表示元素的一种特殊状态,比如超链接的伪类:访问过的超链接,普通的超链接。下面以超链接的伪类进行举例。
超链接的四种伪类:

正常连接 访问过的连接 鼠标滑过的连接 正在点击的连接
a:link a : visited(只能定义字体的颜色) a : hover a : active

其中 : hover和 : active也可以用于其他元素的设置。
但注意:再IE6中不支持对超链接以外的元素设置 : hover和 : active

为没访问过的连接设置一个颜色为绿色

a:link{       
				color:green;
			}

为p标签中选中的内容设置样式(用::selection伪类),将选中的文字背景色设置为红色。

			p::selection{
				background-color:red;
			}

注意:::selection这个伪类再火狐浏览器中需要采用另外一种方式编写。
p::-moz-selection
如果需要兼容得把两种方式都写上。

否定伪类:
作用:可以从已选的元素中剔除出某些元素
语法:  : not(选择器)

为所有的P元素设置一个背景颜色为黄色,除了class值为hello的

p:not(.heoll){
	backfroun-color:yellow;
}

伪元素:

作用:使用伪元素来表示元素的一些特殊位置。

属性 描述
:first-letter 向文本的第一个字母添加特殊样式。
:first-line 向文本的首行添加特殊样式。
:before 在元素之前添加内容
:after 在元素之后添加内容。

属性 描述
:first-letter 向文本的第一个字母添加特殊样式。
:first-line 向文本的首行添加特殊样式。
:before 在元素之前添加内容。
:after 在元素之后添加内容。

为p标签中第一个字符设置一个特殊的样式

P:first-letter{
				color:red;
				font-size:40px;
			}

属性选择器:

作用:可以根据元素中的属性或者属性值来选取指定的元素。
语法:下表是常见的用法

写法 描述
[属性名] 选取含有指定属性的元素
[属性名=“属性值”] 选取含有指定属性值的元素
[属性名]^=“属性值” 选取属性值以指定内容开头的元素
[属性名]$=“属性值” 选取属性值以指定内容结尾的元素
[属性名]*=“属性值” 选取属性值包含指定内容的元素

为title属性值是hello的元素设置一个背景颜色为黄色

P[title="hello"]{
	background-color:yellow;
}

子元素选择器(子元素的伪类):

:first-child 可以选中第一个子元素
:last-child 可以选中最后一个子元素。
:nth-child(n) 可以选中第n个子元素。括号里也可以填even或者odd。分别表示选中偶数位置的子元素和选中奇数位置的子元素。
:first-of-type 表示在type类型标签中的第一个元素。last-of-typenth-of-type()以此类推

为第一个p标签设置一个背景颜色为黄色

P:first-child{
	background-color:yellow;
}

兄弟元素选择器:

选中后一个兄弟:
作用:可以选中一个元素后紧挨着的指定兄弟元素
语法:前一个 + 后一个

选中后边的所有兄弟元素:
语法:前一个 ~ 后一个

为span后的一个p元素设置一个背景颜色为黄色

span + p{
	background-color:yellow;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS选择器总结 的相关文章

随机推荐

  • 菜鸟教程《Python 3 教程》笔记(18):File(文件)方法

    菜鸟教程 Python 3 教程 笔记 18 18 File 文件 方法 18 1 open 方法 18 2 file 对象 18 2 1 flush 18 2 2 fileno 18 2 3 isatty 18 2 4 truncate
  • PROFINET趣谈——设备模型

    设备名 MAC地址和IP地址是为了在网络中找到对应设备 而要定位确切的输入 IX1 1 输出 QW2 就需要熟悉设备模型的概念 PROFINET IO的设备类型与PROFIBUS几乎相同 如图所示 设备模型包括若干槽 slot 与子槽 su
  • Java内存泄露监控工具:JVM监控工具介绍

    jstack 如果java程序崩溃生成core文件 jstack工具可以用来获得core文件的java stack和native stack的信息 从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题 另外 jstack工具还可以附
  • BUAA词频统计(树实现)

    问题描述 编写程序统计一个英文文本文件中每个单词的出现次数 词频统计 并将统计结果按单词字典序输出到屏幕上 要求 程序应用二叉排序树 BST 来存储和统计读入的单词 注 在此单词为仅由字母组成的字符序列 包含大写字母的单词应将大写字母转换为
  • Linux 解决vi键盘方向键出现字母的问题

    修改 etc vim vimrc tiny 1 将 set compatible 兼容模式 改成 set nocompatible 非兼容模式 2 添加 set backspace 2 解决退格键无法使用
  • 【完全开源】小安派-Cam-D 摄像头核心板

    文章目录 一 概述 二 系统框图 三 摄像头电路 四 内存卡电路 五 IO引脚说明 六 资料 一 概述 小安派 Cam D AiPi Cam D 是安信可科技为高性能模组Ai M61 32S设计的一款摄像头核心板 引脚完全兼容Ai WB1
  • MFC :CCoolBar 的替代方案 CDockablePane。

    阅读受众需有一定MFC知识储备 技术支持 http www cnblogs com shuhaoc archive 2011 06 26 cdockableform html 在以往很多使用CCoolBar实现窗口停靠功能 但是在VS201
  • 【C++】Modbus通讯

    C Modbus通讯 2016年06月22日 20 37 48 Taily老段 阅读数 10298 版权声明 本文为博主原创文章 未经博主允许不得转载 如遇到疑问 评论会给出答复 学习交流 关注页面微信公众号 吃良心 拉思想 https b
  • R语言入门教程知识 第七章 特殊值

    以下为本章所用代码 letters letters 5 9 LETTERS LETTERS 6 10 month name month name 7 11 month abb month abb 8 12 pi NA length vec
  • 手撕self-attention代码_从0实现self-attention_附学习路线

    一 前言 科研需要 前几天自学了transformer 在理解self attention时 发现网上并没有一套成熟易懂的学习路线 对新手及其不友好 大多数教程只重视理论和公式的讲解 没有从零开始的代码实战 因此 我在这里整理了一条最适合新
  • python爬虫实战之最简单的网页爬虫教程

    在我们日常上网浏览网页的时候 经常会看到一些好看的图片 我们就希望把这些图片保存下载 或者用户用来做桌面壁纸 或者用来做设计的素材 下面这篇文章就来给大家介绍了关于利用python实现最简单的网页爬虫的相关资料 前言 网络爬虫 又被称为网页
  • 十--nodejs原理(事件循环)

    一 事件循环 什么是事件循环 事件循环使得nodejs可以通过将操作转移到系统内核中来执行非阻塞I O操作 尽管javascripts是单线程的 由于大多数现代内核是多线程的 因此它们可以处理在后台执行的多个操作 当这些操作之一完成时 内核
  • 最短路问题(各种方法整理)附上一个完美模板

    最短路问题 short path problem 从某点出发到达另一点所经过的路径权值相加最小的一条路径 就是最短路径 经典的也是最容易掌握的方法Floyd Dijkstra两种算法 1 Floyd算法 Floyd算法可以求解的是任意两点的
  • 快速上手 ChatGPT 进行信息检索或代码构建 (最近爆火的对话语言模型)

    文章目录 上手使用几步骤 ChatGPT 是什么 ChatGPT 能做什么 给予算法和技术学习参考 进行通用事项细节了解 国际化搜索且经过优化 实战 ChatGPT 汽车概论的论文 python快速排序 什么是分治思想 注意这里产生了上下文
  • 某系统异常流量安全分析案例

    异常分析原理 正常的基于TCP的网络流量 都是先建立TCP连接 再传输数据 然后断开连接 而网络中经常存在中毒系统 配置错误等问题 导致网络中存在单向请求现象 这些信息也会在网络流量中体现 NetInside自动发现大量连接请求 但对方没有
  • YACC工具ParserGenerator的下载和配置过程

    工具准备 parser generator http www bumblebeesoftware com downloads htm VC6 0 网上到处都是 1 parser generator的环境设置 安装好parser genera
  • RedisTemplate存储对象乱码解决

    SpringBoot 通过RedisTemplate存储对象时 key和Value乱码 特此记录 解决方法 import org springframework beans factory annotation Autowired impo
  • 深入浅出PID控制算法(二)————PID算法离散化和增量式PID算法原理及Matlab实现

    引言 上篇介绍了连续系统的PID算法 但是计算机控制是一种采样控制 他只能根据采样时刻的偏差来计算控制量 因此计算机控制系统中 必须对公式进行离散化 具体就是用求和代替积分 用向后差分来代替微分 使模拟PID离散化为数字形式的差分方程 准备
  • Java动态代理一——动态类Proxy的使用

    1 什么是动态代理 答 动态代理可以提供对另一个对象的访问 同时隐藏实际对象的具体事实 代理一般会实现它所表示的实际对象的接口 代理可以访问实际对象 但是延迟实现实际对象的部分功能 实际对象实现系统的实际功能 代理对象对客户隐藏了实际对象
  • CSS选择器总结

    元素选择器 作用 通过元素选择器可以选择页面中的所有元素 语法 标签名 如下 选中所有的P标签 p color red font size 40px ID选择器 作用 通过元素ID属性值选中唯一的一个元素 语法 id属性值 如下 选中ID为