CSS选择器(二)

该篇为CSS系列第二篇文章,着重讲解了选择器的作用,分类以及各类选择器的使用,还有CSS3新增的伪类/伪元素等等…干货满满,不容错过👻

1、选择器作用

选择器主要是用来选中我们想要选中的元素,选中后就能为该元素添加样式了;
 
在CSS中,选中元素的方式有很多,这些不同的方式就是不同的选择器。


2、选择器分类

CSS选择器主要分为 传统 CSS2.1 选择器和 CSS3 新增选择器 ,如下表:

CSS2.1选择器CSS3新增选择器
标签选择器元素关系选择器
id选择器和class选择器序号选择器
复合选择器属性选择器
通配符选择器CSS3新增伪类
伪类伪元素

3、传统CSS2.1 选择器

3.1、标签选择器

标签选择器称之为:元素选择器,类型选择器;
 
直接使用元素的标签名当作选择器,将选择页面上所有该种标签,无论标签所处位置的深浅。
 

语法:

element { ...样式声明... }
/* 实例:*/
p { }
div { } ...
/* 作用:标签选择器的"覆盖面"非常大,通常用于标签 样式的初始化*/

3.2、id选择器

id 选择器使用HTML元素的 id 属性来选择特定元素;
 
元素的id在页面中是唯一的,所以id选择器用于选择一个唯一的元素。
 

语法:

#id{ ...样式声明... }
/* 实例:*/
#box{ }
#top{ }

3.3、class选择器

HTML元素以 class属性 来设置,CSS中class选择器以 . + class名 来定义
 

语法:

.class{ ...样式声明... }
/* 实例:*/
.box{ }
.item{ }

/* 延伸->原子类:
在网页项目中可以将所有常用样式都设置为单独的类,
这样HTML标签就可以"按需选择"它的样式了,这样就能够快速添加一些常见的样式,
应用场景:组件开发
*/

3.4、通配符选择器

/* *星号代表页面当中所有的元素,基本不用,对性能消耗过大 */
/* 页面当中所有元素的字体颜色为红色 */
*{ color:red } 

3.5、复合选择器

选择器可以任何搭配、结合,从而形成复合选择器;但是我们必须要能一目了然的看出选择器代表的含义。

选择器名称示例描述
后代选择器.box .para选择类名为 box 的标签内部的 类名为 para 的标签
交集选择器li.para选择既是 li 标签,也属于 para 类的标签
并集选择器ul,ol
3.5.1、后代选择器
/* 在CSS中,使用 空格 表示"后代"(子孙)、后代选择器可以有很多空格,隔开好几代 */
element element { ...样式声明... }
/* 实例:*/
div p{ color:#fff }
div p span{ color:#fff }
3.5.2、交集选择器
<style>
	/* 如:选择有 .box 类的 h2 标签,此时应该使用 交集选择器 */
	h2.box {
		color: skyblue;
		font-size: 30px;
	}
</style>

<body>
	<h2 class="box">交集选择器</h2>
</body>
3.5.3、并集选择器
/* 并集选择器也叫作 分组选择器,逗号表示分组 */
ul,ol,p {
	font-size: 12px;
	color: red;
}
3.5.4、伪类

伪类是添加到选择器的描述性词语,指定要选择的元素的特殊状态(如:超链接访问状态,超链接拥有 4 个特殊状态)
 

伪类描述
a:link没有被访问的超级链接
a:visited已经被访问过的超级链接
a:hover正被鼠标悬停的超级链接
a:active正被激活的超级链接(按下按键,但还没有松开按键)

爱恨准则(LOVE HATE):

<!-- a 标签的伪类书写,要按照 “爱恨准则” 的顺序,否则会有伪类不生效 -->
:link -> :visited -> :hover -> :active

<!-- 注意:
遵守了 “爱恨原则” ,但 a:link 不生效,是因为之前访问过的网址会被浏览器记录,就会显示 a:visited 的样式(修改网址或清除浏览记录即可);
四个样式可以根据实际情况单独使用;
伪类 :hover 不仅可以用在 a 标签上,还可以用在其他标签上,比如:div、p、列表标签,标题标签 等等
-->

4、CSS3 新增选择器

4.1、元素关系选择器

<style>
	/* 主要有:子代选择器、相邻兄弟选择器、通用兄弟选择器 */
	
	/* 子选择器 :两个标签为 父子元素,而后代选择器并不限制是子元素 */
	.box > p {
	  color: red;
	}
	
	/* 相邻兄弟选择器:img + span 即 选择 紧跟在img后面的第一个span */
	img + span {
	  color: seagreen;
	}
	
	/* 通用兄弟选择器:h3~span选择h3元素之后所有同层级span元素 */
	h3 ~ span {
	  color: aqua;
	}
</style>

4.2、序号选择器

选择器描述兼容性
:first-child选择第一个子元素IE7
:last-child选择最后一个子元素IE9
:nth-child(n)选择第 n 个子元素 :
值为 an+b 等价于从 b 开始每a个选择一个
值为 2n+1 等价于 odd ,表示奇数
值为 2n 等价于 even ,表示偶数
IE9
:nth-of-type(n)选择同种标签指定序号的子元素IE9
:nth-last-child(n)选择倒数第 n 个子元素IE9
:nth-last-of-type(n)选择倒数第 n 个某类型子元素IE9

4.3、属性选择器

案例描述兼容性
img[alt]选择有 alt 属性的 img 标签IE9
img[alt="小草"]选择 alt 属性是 小草 的 img 标签IE9
img[alt^="小草"]选择 alt 属性以 小草 开头的 img 标签IE9
img[alt$="小草"]选择 alt 属性以 小草 结尾的 img 标签IE9
img[alt*="小草"]选择 alt 属性中包含 小草 文字的 img 标签IE9
img[alt~="小草"]选择 alt 属性中有空格隔开的 小草 字样的 img 标签IE9
img[alt∣="小草"]选择 alt 属性中以 小草- 开头的 img 标签IE9

4.4、CSS3 新增伪类

伪类描述
:empty选择空标签
:focus选择当前获得焦点的表单元素
:enabled选择当前有效的表单元素
:disabled选择当前无效的表单元素
:checked选择当前已经勾选的单选按钮或复选框
:root选择根元素,即 <html> 标签

4.5、CSS3 新增伪元素

CSS3 新增了 “伪元素” 特性,表示 虚拟动态创建的元素
 
伪元素用双冒号 :: 表示,IE8 及以上可以兼容单冒号 :

CSS3 新增伪元素描述
::before匹配选中的元素的第一个元素,必须设置content属性
::after匹配选中的元素的最后一个子元素,必须设置content属性
::selection匹配被用户选取的部分
只能应用少量 CSS 属性:color、background、cursor 以及 outline
::first-letter会选中某元素中第一行的第一个字母,必须是块级元素
::first-line会选中某元素中第一行的全部文字,必须是块级元素


上一篇文章下一篇文章
CSS基础认知(一)CSS常用属性之字体属性(三)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值