CSS3_css选择器(详细汇总)

本文全面解析CSS中的各类选择器,包括基本选择器、属性选择器、伪类与伪元素选择器等,涵盖子元素、兄弟元素、表单、结构性伪类及特殊声明等内容,助您掌握CSS布局精髓。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文为新手小白系统汇总的,如果表达有误欢迎提出;如需转载,请注明出处,谢谢!

基本选择器及其扩展

1.子元素选择器
	#wrap > #first(选中#wrap的儿子元素first,不选择其他隔代后代元素)
2.相邻兄弟元素(只会匹配紧跟的下面的兄弟元素)
	#wrap > #first +.inner
	必须是紧跟着的下面的类名为inner的元素,中间不能有别的元素
eg:	<div id="wrap"></div>
	<div id="first"></div>
	<div class="inner"></div>选择此行
	<div class="inner"></div>
3.通用兄弟选择器(只要是该元素下面的元素就可,不需要紧跟相邻,中间可以有别的元素)
	#wrap > #first ~ .inner

属性选择器

1.存在和值属性选择器
[attr],该选择器选择包含attr属性的所有元素,不论attr的值为何。
[attr="value"],该选择器选择attr属性值为“value”的所有元素。
[attr~="value"],该选择器选择带有attr属性命名并且值含有为“value”列表的元素。
2.子串值属性选择器
[attr|="value"],该选择器选择attr属性值以value-开头和value。
[attr^="value"],该选择器选择attr属性值以value开头和value。
[attr$="value"],该选择器选择attr属性值以value结尾和value。
[attr*="value"],该选择器选择attr属性值含有字符串"value"。

伪类与伪类选择器

1.链接伪类:(只能是超链接)
:link   表示作为超链接,并指向一个未访问的地址的所有锚		
:visited   表示作为超链接,并指向一个已经访问过的地址的所有锚
:target   代表一个元素,这个元素必须是URI片段

2.动态伪类:
:hover 鼠标移到,扫过元素时会变成某某样式
:active   鼠标点击元素时会变样式
	

ps:visit的只有三个样式可以作用于已访问链接:
	color
	background-color
	border-color
	
	:link,:visited不能放在最后
	
3.表单伪类
:enable  匹配可编辑的表单
:disable 匹配已禁用的表单
:checked 匹配被选中的表单(自定义表单选项)
:focus 匹配正点击的表单

ps:label是内联元素
	
* 绝对定位盒模型;
		 * 子元素的left+width+margin+padding+right=父元素的content的width
		 *          0    100    0   0       0       100
		 * 子元素的top+height+margin+padding+bottom=父元素的content的height
		 *          0    100    0   0       0       100
		 

4.结构性伪类
:nth-child(index)系列  
eg:ul li:nth-child(1)  选中ul标签下的第一个子元素
	并且如果第一个子元素是li,则执行;如果不是li,则什么都不选择						
 ①:first-child
	eg:  p:first-child选中第一个子元素,而且为p	
 ②:last-child
	eg: p:last-child选中最后一个孩子,并且为p
 ③p:nth-last-child(index)
 选中倒数第index个元素,并且必须是p元素
 ④:only-child
 必须为独生子元素

:nth-of-type(index)系列
eg:ul li:nth-of-type(1)选择ul下第一个li标签
①:first-of-type
	选中第一个元素
②:last-of-type
	选中最后一个元素
③:nth-last-child(index)
	选中第几个为什么的元素
④:only-of-type
	选中唯一一个某类型的元素
重要区别:
nth-of-type(index)以元素为中心
注意:index只能是变量n,0~正无穷
					odd/2n+1,0到正无穷的奇数
					even/2n,偶数

:not

:empty
内容必须为空,空格也不行,但是可以有attr属性
eg:div:empty,选择空的div

5.伪元素选择器
一般用双冒号,靠css生成
一个元素只能after,before伪元素选择器

css声明优先级(阐述对css选择器有何理解)

选择器的特殊性
	选择器的特殊性由选择器本身的组件确定,特殊性值表述为4个部分,如0,0,0,0
	一个选择器的具体特殊性如下确定:
		1.ID属性值 0,1,0,0
		2.各个类属性,属性选择,伪类0,0,1,0
		3.各个元素和伪元素0,0,0,1
		4.通配符选择器0,0,0,0
		5.结合符选择器对特殊性无贡献 逗号
		6.内联声明的特殊性1,0,0,0 HTML的style属性
		7.继承无特殊性	
		特殊性1,0,0,0大于其他任何0开头的特殊性(不进位)
		如果多个规则与同一个元素匹配,则选择特殊性最大的
		eg:div[id="test"]0,0,1,1元素加属性
			#test ID选择器0,1,0,0

重要声明
	!important总是要放在声明最后,分号前面
	如果重要声明和非重要声明发生冲突,重要声明和非重要声明分开考虑,组内斗,胜出的是重要声明
	
继承
	无特殊性
	0特殊性比无特殊性强
	
来源
	css样式来源大致有三种:
	创作人员
	读者
	用户代理
	
	权重:
	读者的重要声明
	创作人员的重要声明
	创作人员的正常声明
	读者正常声明
	用户代理的声明
	
层叠
	1.来源不同,按来源排序
	2.来源一样,按选择器的特殊性
	3.选择器的特殊性一样,按顺序
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值